Welcome to my blog. The English verison of posts are in En page.

大白刷题录

UVa 11729

UVa 11292 勇士斗恶龙

排序,贪心

UVa 11300

这个题目很有价值。

一方面通过数学推导得出结论。

编号为i的人初始有$A_i$枚金币。对于1号,给了4号$x_1$枚金币,自己还有$A_1-x_1$枚。然后从2号拿走$x_2$枚金币,现在有$A_1-x_1+x_2$枚金币,另外,设平均金币值为$A_1-x_1+x_2=M$。

由此可类推得到

$A_n-x_n+x_1 \Rightarrow x_n=M-A_n+x_1=x_n-C_n$

我们可以得到类推公式

$$C_i = C_{i-1} + A_i – M $$

证明:

$$x_2 = x_1 – C_1$$

$$x_3 = M-A_2+x_2 =2M-A_1-A_2+x_1=x_1-C_2$$\

以此类推。

可以求得,需要求的结果为:

$$|x_1|+|x_1-C_1|+|x_1-C_2|….|x_1-C_n-1|$$

即求这个式子值最小,即求$C_1, C_2, …C_n$的中位数。

LA 3708

这个题目也是比较有水平

使用了按比例缩小的技巧。其中,按逆时针编号,固定一个点作为原点,建立新坐标。原来的位置呈现在新坐标的位置为$pos = i/n*(n+m)$,如此,求移动距离则是$fabs(pos – floor(pos+0.5))/(n+m)$

UVa 10881

蓝桥杯去年山东省的初赛题目,的确有点意思= =

转换方向可以不必在意,因为最终看到的结果已经不知道最初的蚂蚁是哪一只了,所以不用纠结方向的问题。主要要考虑的是最终的位置,以及最初蚂蚁位置的存储,before,after的对应关系。

Leanote - 一个极简风格的笔记

本文出自 http://svtter.github.io

本文可以随意转载,但是转载请保留本信息.

leanote 这个项目很不错,然后看到了免费的套餐十分诱人,已经很久没有更新自己的站了,大部分的更新都在 segmentfault 上面,另外,很多配置等等leanote的blog做的的确都不错,感觉上要优于hexo,有兴趣的朋友可以看一下.

update at 20230829

原来2015年就在看 leanote 了。leanote 似乎还活着,每个月10元续费,大概是为很多老用户服务的。 看了看github,已经有 2年没有更新了。大概是死掉了。

Note 

关于这次校赛

这次校赛很糟糕,第七名,二等奖。

回宿舍以后心里就很不是滋味。本来结束的时候并不觉得非常糟糕,可是这个情绪在仔细思考之后就有些爆炸了。

[阅读全文]

ACM-数据结构

本文可以随意转载,但是转载请保留本信息.

Uvaoj的判题效率不是很高。。所以直接开下一章节。题目慢慢刷,先过一遍书,不然书都看不完了TAT。。

6.1 栈和队列

卡片游戏,回顾了下队列和STL

6.1.2栈的STL

6.2 链表和随机数发生器

链表的相关部分就不在赘述了。主要是随机数发生器。

很多人喜欢用rand()%N得到一个随即整数,但是n大于RAND_MAX的时候,就不好用了。

于是使用(double)rand()/RAND_MAX,然后在扩大n-1倍以后四舍五入,再+1

例如这样

6.3 二叉树

博客重新开始更新

本文可以随意转载,但是转载请保留本信息.

重新开始更新自己的blog了,之前一段时间的文章都在 http://segmentfault.com/blog/svtter

segmentfault感觉着实不错= =

以后blog中各种发解题报告各种发思路各种发知识。

坦白说之前的blog真心是懒得更新= =

悲剧了

本文可以随意转载,但是转载请保留本信息.

手贱删除了windows的注册表,因为之前装arch的时候硬盘有些位置没有对齐,造成我重装win7的时候把

archlinux也弄没了TAT最惨的莫过于一些文章都没有了。操作系统网络等资源倒是还能从github上找回,

但是似乎不是最新的。虽然是考完了,但是看到大把大把的总结资料没了也着实心疼。

不管啦,没了就没了吧。

这次同步更新!在segmentfault和我自己的博客上同步更新,一般segmentfault会更快一点。哎,一定

要及时备份数据,不然很容易就悲剧了。

因为hexo的主题神马的我没有备份(也有一个,不过比较老了)。所以有时间的时候再弄把。

hexo 

Java-如何使用vim开发Java

本文可以随意转载,但是转载请保留本信息. 在网上搜索一番,大部分此类文章都是在说配置,而且配置讲的一看就是没有深入的撸vim。这个时候就 需要我来深刻的讲讲这个问题了 — 国外也有一些开发者写过类似的文章,不过国外的开发者没有深层 的讲讲具体如何配置,仅仅是比较简单的说了一下应该用什么。 闲话少说,我们开始吧。 本文的作者认为,本文的读者已经学会使用vim的初步,至于安装,启动之类的东西作者不再赘述, 望读者海涵。 Vimrc的配置 如果想要用Vim撸Java,首先一个问题就是许多IDE自带的查错功能,这个笔者希望使用Syntastic来实现。 具体的方法是,安装Vundle(vim的插件配置工具,用于安装组合各类插件)。其实这个地方也可以不用 Vundle,但是笔者认为,vimer配置大量插件的最佳方法就是使用vunlde,或者patheon等等。总之,一 定需要一个插件管理。 安装Vundle还是比较轻松的,在github上搜索一下,经过一系列步骤即可。然后同样是位于github,搜 索Syntastic安装即可。 Syntastic是一个检查语法的vim插件,不仅仅支持Java,各种都支持,具体可以看看Syntastic的wiki 学习Ant Ant是什么东西?简单来说,就是java的makefile。Syntastic的wiki对ant和maven均有支持,但是我个人 学习了Ant,另外eclipse里面的ant等等 — 如果想要探究一下,可以查看一下这篇文章 这里面说了一点笔者在ant上面的一点东西,还有ant学习的链接。 配置Syntastic PS: 期末周这么悠闲的写博客真的好吗!! 说是配置Syntastic,更不如说是配置Syntastic的Java配置文件。 首先你需要在你的.vimrc中,添加 let g:syntastic_java_javac_config_file_enabled = 1 用于使Syntastic读取配置文件生效。 选择build.xml,使用命令:SyntasticJavacEditConfig,输入: `let g:syntastic_java_javac_custom_classpath_command =<br /> \ "ant -q build | grep echo | cut -f2- -d] | tr -d ' ' | tr ':' '\n'"` 重启Vim,语法检查就完成了。 其他的插件 Bundle ‘vim-scripts/javacomplete’ Bundle ‘vim-scripts/javaDoc.vim’ ” Bundle ‘vim-scripts/Java-Syntax-und-Folding’ ” Bundle ‘vim-javacompleteex’ “更好的 Java 补全插件 以上插件均可以考虑使用,安装方法可能有所不同 — 但是个人认为最大的语法检查问题已经搞定了, [阅读全文]
Java 

网络-CDMA接受检验

本文可以随意转载,但是转载请保留本信息.

做CDMA简单的接收处理。

文件

input:

new.c:

Java-Ant文件和Synastic-Vim支持

本文可以随意转载,但是转载请保留本信息.

本文已经更新,请看 — 如何使用vim开发Java.

本来想把本文命名为使用Vim写Java-Project的,但是个人认为这样并没有很高的开发效率,所以只是提

供一个部分的解决方案,剩下的就由大家努力探索吧。。

Java有个自己构建工程的工具叫做Ant, 全名Apache Ant,好东西,最通俗的解释就是Java的

makefile,这里提供的方案,就是使用Ant或者maven来构建工程,然后通过Synastic的设置,来完成

Java的代码检查。另外,java代码补全设置其实也是有的,但是具体的设置我没有好好研究过,主要是

已经陪不起那个时间了。

另外,Eclipse导出Java项目的时候,一个不错的方法就是Export Ant Buildfiles,这就是ant文件。

Maven我没有好好学,但是看wiki似乎Synastic对maven的支持比ant的支持更加优秀,也可能是mvn的构

建方法上存在优势?这个我不清楚。有时间写一篇文章来好好的研究下。

Ant这个东西构建的包有时候检查会出现问题,(如果采用目录编译的方法,那么就无法检查)。

另外,需要不停的在目录下建立.synastic_javac_config,着实烦人。但是如果使用了全局设置,改

变了配置文件的根目录,也是极为不妥当的(不可能只有一个项目在编辑吧?另外改来改去,也是太麻

烦了。)

就是这样。。更多的是吐槽吧。

对于上一篇文章提到的问题可以用设置classpath来解决。具体方法是将classpath添加到syntastic。

use :SyntasticJavacEditClasspath and add workpath.

Java  ant  vim 

Java-import和package的用法

本文出自svtter.github.io 本文可以随意转载,但是转载请保留本信息.

之前一直都是用eclipse开发Java,Vim修炼到今日,本来想要拉出来溜溜Java,奈何package和import的机制以及 synastic[自动检查代码的插件] 没有对于eclipse对java包类似的支持,所以只得滚回eclipse,然后使用vrapper了。

[阅读全文]