上一页 1 2 3 4 5 6 7 8 9 ··· 27 下一页
摘要: 其实这题还是挺简单的,因为移动k个星球后,这k个星球的权值就可以变为0,所以只有剩下的本来就是连着的才是最优解,也就是说要动也是动两端的,那么就O(N)枚举一遍动哪些就好了。我是在杭电oj题目重现的比赛上做这题,因为之前听人说现场赛时有人用n^2的算法蹭过了,所以我不断蹭,蹭了一个小时都没蹭过。。。... 阅读全文
posted @ 2014-10-22 23:51 moonbay 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 简单规律题。首先想到的是,若01串中1有n个,则可以通过操作,使串中1的个数变为n-1、n-2……1、0个;第2个想到的是,如果n为奇数,可以通过操作,使串中1的个数最多变为n+1,而若n为偶数,则无法增加1的个数;第3个想到的是,两个串如果1的个数相同,则一定可以相互转换(这个有点难想,我感觉是对的,而且写程序验证了)。想到这里,题目就非常简单了。/* * Author : ben */#include #include #include #include #include #include #include #include #include #include #include #i... 阅读全文
posted @ 2014-03-24 20:44 moonbay 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 水题/* * Author : ben */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;const int MAX_LEN = 5009;char str[MAX_LEN];int work() { int len = strlen(str); int re... 阅读全文
posted @ 2013-11-07 19:18 moonbay 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 昨天用vim练了一道大水题,今天特地找了道稍难一点的题。不过也不是很难,简单的计算几何而已。练习用vim编码,用gdb调试,结果居然1A了,没调试。。。囧。。。做法很简单,无非就是两种情况:①三个巫师构成一个钝角(极限情况是直角)三角形,那么所画的圆应该是钝角所对边为直径的圆;②三个巫师构成一个锐角三角形,那么所画的圆应该是三角形的外接圆。就这样纸,上了点模板,代码如下:/* * Author : ben */#include #include #include #include #include #include #include #include #include #include ... 阅读全文
posted @ 2013-11-06 22:05 moonbay 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 最近转到vim上来了,用vim编写代码,用gcc编译,用gdb调试。这是用vim做的第一道题,纪念下。题目很水,就不说了。/* * Author : ben */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int getB(int a, int b, int A) { ... 阅读全文
posted @ 2013-11-05 19:53 moonbay 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 数据小,水题,直接穷举每一种组合,然后相应判断处理即可。/* * hdu1557/win.cpp * Created on: 2013-6-1 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#in 阅读全文
posted @ 2013-06-01 16:19 moonbay 阅读(125) 评论(0) 推荐(0) 编辑
摘要: /* * hdu1113/win.cpp * Created on: 2013-6-1 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#include <map>#include &l 阅读全文
posted @ 2013-06-01 11:21 moonbay 阅读(117) 评论(0) 推荐(0) 编辑
摘要: /* * hdu1225/win.cpp * Created on: 2013-5-31 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#include <map>#include & 阅读全文
posted @ 2013-06-01 00:36 moonbay 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 这题过得很艰辛啊。最早在去年网络赛时就见到这题了,当时是不会。前段时间好好学了一下后缀数组,昨天再来看这题,就知道显然是后缀数组的应用了。我知道解这道题肯定是类似于用后缀数组求字符串所有不同子串个数的思路。但一开始想走捷径,想法是先把所有的b连起来,再连上a,并通过在a后面加上一些特定字符的方法,使在sa中a的子串都排在b的后面,这样只要倒着统计一遍就行了。代码打完后才想明白这是完全行不通的。正确思路只能是分两次做,一次是只把所有的b连起来,求出所有不同子串数sumb,第二次是把a也连上,求出所有不同子串数sumab,最后结果就是sumab - sumb。具体实现过程也有好多需要注意的,比如, 阅读全文
posted @ 2013-05-22 14:00 moonbay 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 赤裸裸的后缀数组的应用啊。直接将两个串连起来(中间加一个比小写字母小的字符,我学大家,用的‘#’),求出height数组,找最大值即可(得排除两个后缀在同一端的情况)/* * hdu1403/win.cpp * Created on: 2013-5-20 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <al 阅读全文
posted @ 2013-05-20 21:25 moonbay 阅读(181) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 27 下一页