摘要:
卡了两天的题,今天终于想明白到底是哪里出了问题了。原来只是因为 j+(1#include #include #include #include using namespace std;const int maxn = 100010;#define max(a,b) (a > b ? a : b)#d... 阅读全文
摘要:
最近在HDU上刷了很多题,大部分是数学题。复习了拓展欧几里得算法,而且也学会了log的妙用。最后,还在百度上找到了Fibonacci数列的一些性质。费波纳茨数列的第n项同时也代表了集合{1,2,...,n}中所有不包含相邻正整数的子集个数。费波纳茨数列(f(n),f(0)=0,f(1)=1,f(2)... 阅读全文
摘要:
这道题是我们去西安邀请赛的最后一道题。当时是我做的,因为之前刚刚做了一道轮廓线DP,对于状态压缩还比较熟悉,所以当时1A了这道题,才拿到了铜牌。但是,当我今天再来做这道题的时候,却发现我不会了。。。不是因为不会表示状态,而是不会转移了。后来明白了,状态是最后变化的。 要先是节点变化,用现在的状态更新... 阅读全文
摘要:
CF上的题一向都是非常灵活的,很注重想法,而不是依赖固定的算法。今天做了一道,虽然只是C难度的题,但是也还是做了将近3个小时。说说题吧。题目就是说有n个数,每两个数分成一堆,条件是这两个数GCD不能小于2.问最多可以分多少堆。我刚开始就想,要先求出素数,然后根据每个素数分成几份,从最大的数开始,依次... 阅读全文
摘要:
昨天做了两道题,感觉挺水的,就没写题解。但是今天感觉还是纪念一下我的努力吧。第一道是POJ 3630Phone List一道基础的Trie树,但是因为采用了动态建树,刚开始就TLE了。最后用了静态储存的方法就过了。#include #include #include using namespace ... 阅读全文
摘要:
这道题最重要的不仅是hash这种算法,更要学会利用好STL中的才行。将连续的L个字符经过hash赋值,最后线性判断。其中的判断步骤用到了map的插入特性。#include #include #include #include #include using namespace std;#define ... 阅读全文
摘要:
这道题是rmq,再加上一个解决溢出。刚开始我也想过用rmq,虽然不知道它叫什么,但是我知道应该这样做。可是后来没想到这道题的特殊性,也就是解决溢出的方法,就放弃了。rmq可以用线段树,也可以用dp。 这道题都可以过的,而且线段树要快一些。#include #include #include #inc... 阅读全文