- 博客(12)
- 收藏
- 关注
原创 POJ_2965
1. 解题思路: 首先,还是要理解这种类型的题,每个格子操作的次序是不重要的。 如果想改变一个开关的状态,并且其他开关保持不变,则可以操作一次这个开关,然后将和这个开关同行同列的其他开关也操作一次。 因此,想将所有的开关都打开,可以依次用上面的方法操作所有的+开关。用一个矩阵记录所有开关的操作次数,将矩阵元素%2,因为操作两次等于不操作。最后1的为所求。2. 其他
2013-11-27 15:22:56 417
原创 POJ_1753
1. 位运算+BFS2. 枚举:只要有一种枚举不满足,则其他枚举也不满足,反之,只要有一种枚举满足,则所有枚举都满足,因为同一个方块反转两次,整体不变,猜测所有的可行解都是可以相互转换,并且都始于全黑/白,终于全黑/白。3. 高斯消元法
2013-11-26 16:35:54 741
转载 POJ_题目分类
OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法.
2013-11-19 17:33:35 960
原创 POJ_1001
#include #include #include char res[151], base[7];int exp, dec;void Reverse() { for (char *st = base, *end = base + 5; st < end; ++st, --end) *st ^= *end, *end ^= *st, *st ^= *end; retu
2013-11-18 17:28:56 617
原创 POJ_3094
解题: 水。summary:c输入一行 1. char * gets(char * buffer),从stdin读一行,/n或EOF结束, 返回buffer指针,如果在读到任何字符前EOF,则返回null。 需要注意, 如果超过buffer的size,则会buffer overflow。 2. char * fgets(char * str, i
2013-11-18 16:18:53 672
原创 POJ_2255
解题: 比较直接,由二叉树pre-order和in-order求后序, 可以重构树再遍历,更好的方法是找到三种序列的关系,直接求解。注意: 1. 从效率考虑,应该用栈迭代,而不要用递归。 2. 最后遍历结果栈的时候,犯了很2的错误,debug好9,一定吸取教训。//144k 0ms#include #include #include #in
2013-11-18 14:47:25 735
原创 POJ_3006
解题: 果然是水题, 还是直接线性打表, 然后查找。 不过,1million之内的素数表,只用了16ms,这个应该是已知最快的了吧?哈哈~//1108k 16ms#include #include #include #define MAX 1000000char prime[MAX];int main() { memset(prime, 1, MAX)
2013-11-15 14:56:02 372
原创 POJ_2262
思路: 线性筛选,计算出所有的小于1000000的素数,然后从头开始查找,找到的第一组就是差最大的。notes: 提交的时候用c++明显要快,wa了很多次,但是把数组开成全局的并且使用宏定义替换了全局常量就ac了,被坑的很惨。优化: 第一次写筛选法的时候,TLE了,后来参考了高手的文章“筛法求质”http://blog.csdn.net/redraiment/
2013-11-14 17:54:59 482
原创 POJ_1083
思路:1. 将corridor抽象为一个计数器数组,一对房间的corridor为一个元素,然后计算每个过道元素被经过几次,整个数组被经过最多的过道元素即为最少搬运组数。//132k 0ms#include #include #include int main() { int T, N, st, en; char corridor[200]; scanf("%d
2013-11-12 14:30:38 584
原创 POJ_2739
#include #include #include #include using namespace std;int main() { bool is_prim[10001]; memset(is_prim, true, 10001); for (int i = 2; i < 10001; ++i) { if (!is_prim[i]) contin
2013-11-08 19:28:17 546
原创 POJ_2159
//164k 16ms#include #include #include #include #include using namespace std;int main() { char cc[26], mc[26]; memset(cc, 0, 26); memset(mc, 0, 26); char input[101]; scanf("%s", in
2013-11-07 16:04:18 404
原创 POJ_3299
//412k 0ms#include #include #define HUM(d, t) (6.11 * exp(5417.7530 * ((1 / 273.16) - (1 / (d + 273.16)))) - 10.0) * 0.5555 + t#define DEW(h, t) (1 / ((log(((h - t) / 0.5555 + 10.0) / 6.11) / 5
2013-11-01 13:55:29 474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人