- 博客(32)
- 收藏
- 关注
原创 长春和沈阳网络赛的DP
普通DP题目http://acm.hdu.edu.cn/showproblem.php?pid=5456你能看得出来每个数字需要几根火柴。给你n(大于等于5小于等于500)根火柴,问能摆出几种a-b=c,其中a b c没有前导零的正整数。答案mod minput412 100000000717 100000000720 1000000007147 10
2015-09-20 10:47:00
460
原创 CF - 496E Distributing Parts - 离线
problem:给你n首歌,和每首歌的音调区间[a, b], a给你m个歌唱家,和每个歌唱家的音调区间[c, d]他最多可以唱k首歌, c一个歌唱家可以唱一首歌 iff c问能不能给出一种方案,使得每首歌都有歌唱家唱,能的话输出YES和每首歌由哪个歌唱家唱[1, m];不能输出NO11think:1.对于a,b,c,d可以离散化,这样最后有2*n+2*m种音
2014-12-18 20:42:13
520
原创 CF - 496D Tennis Game -
problem:http://codeforces.com/problemset/problem/496/D一场比赛分若干set. 一个set分若干serve。两个人玩,每个serve其中一个人赢。当一个人赢了t个serve,他就赢了一个set,然后两个人的serve score都清零。当一个人赢了s个set,这场比赛他就赢了,比赛结束。现在已知某一场比赛一共有n个serve和
2014-12-18 13:41:59
478
原创 CF - 496C - Removing Columns
problem:给n个长度为m的字符串。删掉第j列的意思是把每一行的第j个字符都删掉。问,最少删除几列,使得这n个字符串是非减的。即第i个字符串的字典序不大于第i+1个字符串。1think:枚举每个当前列能不能删。已经当前列和上面的串的关系,大于还是等于。code:const int N = 100100;int a[N];int one[N];//前i个有几个1
2014-12-18 13:23:33
976
原创 CF - 494B - 字符串预处理 + DP
problem:http://codeforces.com/problemset/problem/494/B给你两个字符串。s 和 t , 长度不超过1e5问有多少a 1, a2, ..., ak 和 b1, b2, ..., bk 序列对满足以下:k ≥ 1 t is a substring of string saisai + 1... sbi (string s
2014-12-14 03:05:53
406
原创 HDU 5143 - 细节题。
problem:给四个数,分别表示1 2 3 4的个数。问这些数能否组成若干个等差数列。如:1 2 2 1 => Yes. (1 2 3) 和 (2 3 4)1 0 0 0 => No.3 0 0 0 => Yes. (1 1 1)think:1. 找到个数最小的那个数的个数x2. 如果这个数都>=3,那么就Yes了。3. 不然的话,这个数一定要和其他数字结合,
2014-12-13 22:25:52
392
原创 2014.8.22 - 多校10
hdu - 4973 - A simple simulation problem.problemyouthinkcode
2014-08-22 22:12:34
407
原创 组队赛5 - 2014.8.10
http://vjudge.net/contest/view.action?cid=53221#overview
2014-08-12 10:53:10
1051
原创 组队赛4 - 2014.8.3 - 2013成都现场赛
hdu-4781-Assignment For Princessproblemthinkcode
2014-08-04 15:59:20
493
原创 2014.7.29 - 多校3
http://blog.sina.com.cn/s/blog_6bddecdc0102uyp3.htmlhdu-4889-Scary Path Finding Algorithmproblemthink构造。按照题解的构造方法写了一个。想不出来啊。codeint bit[100];long long spfa_slf(int C, int nn) {
2014-07-31 10:12:51
462
原创 组队赛2 - 2014.7.20 - 2013长春现场赛
B - Golden Radio Baseproblem给你一个数[1, 1e9],写出他的φ 进制。其中φ = (1+√5)/2 。think1所以答案只包括0和1和小数点。在题目中给了两个重要信息。写成φ进制表示就是:1)11 = 1002)200 = 1001 (同理 2 = 10.01于是就可以这样加下去了。可是1e9太大了,于是使用快速幂的思想。co
2014-07-22 19:13:34
907
原创 cugb.20140417 (ural 1961 - 1970)
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=44276#overviewhttp://acm.timus.ru/problemset.aspx?space=1&page=10 uarl 1961-1970Aproblem thinkC(M, m) * C(N-M, n-m) / C(N, n) >= C(
2014-04-18 13:38:43
659
原创 CF #180 (div1)
A. Parity Gameproblem:在一个01串中。可以去掉最前面的一个字符;可以在后面加一个字符,若该串有奇数个‘1’则末尾加字符‘1’否则加‘0’。问能否把a串变为b串。think:如果偶数个‘1’则‘0’可以在结尾任意加。又因为前面随便去掉,所以可以在想要的位置去掉前面的‘1’然后结尾加‘1’。所以偶数(n)
2014-04-15 14:56:10
503
原创 Codeforces Round #166 (Div. 2)
A Beautiful Year题意给一个四位数y(1000 解法:这题目真是水的不行。。。直接暴力。 1min 过掉还是很爽的Code:[cpp] view plaincopyprint?int x; bool use[10]; bool check(int y){ RST(u
2014-04-15 14:55:38
433
原创 dp
题源:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27634题意:三个数,第一个数N, R, Q。 1N < 101, 000, 0R Q1, 000。找出最大的没有前导零的由 N 的若干位不打乱顺序构成的数,设这个数%Q==R. 如果不存在输出Not found
2014-04-15 14:53:38
464
原创 ZOJ 3494 BCD Code AC自动机+数位DP
problem:给你 n 个由 01 串组成的病毒。(0一个数的 BCD 编码为每个数字变成四位的二进制(如127 would be:0001 0010 0111)。问从x到y有多少个数其BCD编码中没有病毒。(0think:用 AC 自动机得到每个状态,每个状态是否已经构成一个病毒,每个状态后面加一个数字后转移到哪个状态。有了这些处理,就是个简单的数位 DP
2014-04-15 14:53:00
590
原创 hdu 2243 AC自动机 + 矩阵加速
problem:给你 n 个病毒,问长度为 [1, m] 的,包括病毒的有多少。全都是小写字母。think:和 poj 2778 有点像。不一样的是:1) 这个是求包括的,我这么做的,加一维用来表示已经包括了病毒的状态。2) 求长度是 [1, m] 的。在矩阵里面维度变成二倍。[A 1][1 0] 左下面的 1 就是最后所求。A是
2014-04-15 14:52:37
351
原创 hdu 4117 AC自动机DP + 线段树优化
problem:给你N个字符串, N(1 4), 所有穿的长度加一起不超过 3 * 105.每个串有个值。这个值[-1000, 1000].问不打乱字符串顺序,从中取若干个字符串,使得前一个串是后一个串的子串,求满足前面调条件的字符串值得和最大,求这个值。think:建立AC自动机。后面检查取了以每个字符串是最后取的串的最大值。那么检查第i个字符
2014-04-15 14:52:04
1301
原创 CF 359C - 359E #209 (Div. 2)
C. Prime Numberproblem:输入 n and x (1 ≤ n ≤ 105, 2 ≤ x ≤ 109) a1, a2, ..., an (0 ≤ a1 ≤ a2 ≤ ... ≤ an ≤ 109). x是素数1/(x^a1) + 1/(x^a2) + …… + 1/(x^an) 可以变为 t/s 其中 s = x ^ (a1 + a2 + …… + an)求
2014-04-15 14:51:36
499
原创 CF 358D - 358E #209 (Div. 2)
D. Dima and Haresproblem输入n (1 ≤ n ≤ 3000) a1 a2 ... an. b1, b2, ..., bn. c1, c2, ..., cn. n只兔子,每只兔子喂一遍,abc分别是旁边两只都饿着一直饿着一直饱着两只都饱着的joy值,按照某种顺序喂,求最大joy和。think两边的情况太模
2014-04-15 14:51:08
668
原创 CF 356A - 356D #207 (Div. 1)
A. Knight Tournamentproblem输入 n m 和 m 行 每行 l r x 表示把区间[l, r]中除了x还没有值的变成x问最后每个n的值分别是多少,没有就是0think线段树code[cpp] view plaincopyprint?int val[333333
2014-04-15 14:50:39
463
原创 CF #233 div. 1
A:枚举被分成几块。当分成i块确定时,就可以O(1)求出此时答案。比如正分有i块,负分就有i+1块,正分就分成I-1个是1 剩下的都放一个里面;负分的则尽量放平均[cpp] view plaincopyprint?int main() { LL n, m; while(scanf("%I64
2014-04-15 14:50:01
468
原创 【数位DP】
2.SGU 258problem一个2*n位数,前n位数各位数和与后n位数各位数和相等,是lucky数。一个2*n位数,改变一个数字后,依然是2*n位(改前改后都没有前导零),并且是lucky数,则改之前的数称之为近似lucky数。求[l, r] 区间内,有多少近似lucky数。thinkdp[枚举到那一位][这个数是2*n位数][sum(前
2014-04-15 14:48:25
385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人