题目地址:Ural 1081
先用dp求出每个长度下的合法序列(开头为1)的个数。然后求前缀和。会发现正好是一个斐波那契数列。然后每次判断是否大于此时长度下的最少个数,若大于,说明这一位肯定是1,若小于,则肯定是0.就这样不断输出出来即可。
代码如下:
#include
#include
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-10-24 23:40:46
阅读次数:
312
题目链接:ural 1020. Rope
题目大意:按照顺序给定N个点,每个点有半径R,问说用线环绕N个点所需要的长度。
解题思路:因为需要围成一个圈,所以旋转角度一定是一周,板径又都相同,所以直接就是两两点之间的距离加上一个周长。
#include
#include
#include
#include
using namespace std;
const int maxn...
分类:
其他好文 时间:
2014-10-24 00:22:24
阅读次数:
181
题目链接:ural 1019 Line Painting
题目大意:一个0~1e9的区间,初始都是白的,现进行N次操作,每次将一段区间图上一中颜色。最后问说连续最长的白色区间。
解题思路:线段树区间合并,每个节点即维护一个区间,很经典。注意坐标需要离散化,但是还是要将0和1e9放进去。
#include
#include
#include
using namespace st...
分类:
其他好文 时间:
2014-10-24 00:21:20
阅读次数:
227
题目地址:Ural 1635
又是输出路径的DP。。。连着做了好多个了。。
状态转移还是挺简单的。要先预处理出来所有的回文串,tag[i][j]为1表示字符串i--j是一个回文串,否则不是回文串。预处理时要用n^2的方法,即枚举回文串中间,可以分奇数和偶数两种分别求一次。
然后dp转移方程为,若tag[j][i]==1,dp[i]=min(dp[i],dp[j-1]+1);
对于最令人讨厌...
分类:
其他好文 时间:
2014-10-23 22:46:34
阅读次数:
295
把原串复制一份反过来接在原串后面,中间用没出现过的字符隔开,然后跑后缀数组,在原创枚举每一个位为回文中心(分奇偶讨论),则回文串长度相当于原串与反串对应位置的lcp,所以先用ST预处理,然后查询。复杂度O(nlogn)#include#include#include#include#include....
分类:
编程语言 时间:
2014-10-22 20:11:18
阅读次数:
270
题目地址:Ural 1183
终于把这题给A了。。。拖拉了好长时间,。。
自己想还是想不出来,正好紫书上有这题。
d[i][j]为输入序列从下标i到下标j最少需要加多少括号才能成为合法序列。0
c[i][j]为输入序列从下标i到下标j的断开位置,如果没有断开则为-1。
当i==j时,d[i][j]为1
当s[i]=='(' && s[j]==')' 或者 s[i]=='['...
分类:
其他好文 时间:
2014-10-22 11:07:30
阅读次数:
240
题目不太好读懂,就是先给你一个n代表要从n个物品中买东西,然后告诉你这n个东西的单价,在给你m个集合的情况,就是每个结合中有x件物品,他们合起来买的价格是k。这x件物品依次是:p1……px。之后给你一个kk,表示你要买的物品的编号。让你求出来如何花费最少的钱买到要求的序列。
20,可以状压啊,注意一开始的时候先把单价的状态处理出来。。。之后就是水题了啊。
1326. Bottle Ta...
分类:
其他好文 时间:
2014-10-21 23:21:15
阅读次数:
453
题目链接题意 :给你第 i 项的值fi,第 j 项的值是 fj 让你求第n项的值,这个数列满足斐波那契的性质,每一项的值是前两项的值得和。思路 :知道了第 i 项第j项,而且还知道了每个数的范围,二分求第 i+1项,然后根据性质求下去,求到第 j 项的时候看看通过二分求出来的值与给定的第j项的值大小...
分类:
其他好文 时间:
2014-10-20 20:58:59
阅读次数:
183
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17662题目大意:树枝上间连接着一坨坨苹果(不要在意'坨'),给定留下m根树枝,问最后剩下的最多苹果是多少。解题思路:其实意思和Vijos 1180(选课)的意思差不多...
分类:
其他好文 时间:
2014-10-20 18:56:20
阅读次数:
243
1057. Amount of Degrees
Time limit: 1.0 second
Memory limit: 64 MB
Create a code to determine the amount of integers, lying in the set [X;Y] and being a sum of exactlyK different integer de...
分类:
其他好文 时间:
2014-10-20 15:16:05
阅读次数:
227