- 博客(32)
- 收藏
- 关注
原创 长春和沈阳网络赛的DP
普通DP 题目 http://acm.hdu.edu.cn/showproblem.php?pid=5456 你能看得出来每个数字需要几根火柴。给你n(大于等于5小于等于500)根火柴,问能摆出几种a-b=c,其中a b c没有前导零的正整数。答案mod m input 4 12 1000000007 17 1000000007 20 1000000007 147 10
2015-09-20 10:47:00
463
原创 CF - 496E Distributing Parts - 离线
problem: 给你n首歌,和每首歌的音调区间[a, b], a 给你m个歌唱家,和每个歌唱家的音调区间[c, d]他最多可以唱k首歌, c 一个歌唱家可以唱一首歌 iff c 问能不能给出一种方案,使得每首歌都有歌唱家唱,能的话输出YES和每首歌由哪个歌唱家唱[1, m];不能输出NO 1 1 think: 1.对于a,b,c,d可以离散化,这样最后有2*n+2*m种音
2014-12-18 20:42:13
531
原创 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
483
原创 CF - 496C - Removing Columns
problem: 给n个长度为m的字符串。删掉第j列的意思是把每一行的第j个字符都删掉。 问,最少删除几列,使得这n个字符串是非减的。即第i个字符串的字典序不大于第i+1个字符串。 1 think: 枚举每个当前列能不能删。已经当前列和上面的串的关系,大于还是等于。 code: const int N = 100100; int a[N]; int one[N];//前i个有几个1
2014-12-18 13:23:33
981
原创 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
410
原创 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. 找到个数最小的那个数的个数x 2. 如果这个数都>=3,那么就Yes了。 3. 不然的话,这个数一定要和其他数字结合,
2014-12-13 22:25:52
394
原创 2014.8.22 - 多校10
hdu - 4973 - A simple simulation problem. problem you think code
2014-08-22 22:12:34
410
原创 组队赛5 - 2014.8.10
http://vjudge.net/contest/view.action?cid=53221#overview
2014-08-12 10:53:10
1058
原创 组队赛4 - 2014.8.3 - 2013成都现场赛
hdu-4781-Assignment For Princess problem think code
2014-08-04 15:59:20
497
原创 2014.7.29 - 多校3
http://blog.sina.com.cn/s/blog_6bddecdc0102uyp3.html hdu-4889-Scary Path Finding Algorithm problem think 构造。按照题解的构造方法写了一个。想不出来啊。 code int bit[100]; long long spfa_slf(int C, int nn) {
2014-07-31 10:12:51
463
原创 组队赛2 - 2014.7.20 - 2013长春现场赛
B - Golden Radio Base problem 给你一个数[1, 1e9],写出他的φ 进制。其中φ = (1+√5)/2 。 think 1所以答案只包括0和1和小数点。在题目中给了两个重要信息。写成φ进制表示就是: 1)11 = 100 2)200 = 1001 (同理 2 = 10.01 于是就可以这样加下去了。可是1e9太大了,于是使用快速幂的思想。 co
2014-07-22 19:13:34
910
原创 cugb.20140417 (ural 1961 - 1970)
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=44276#overview http://acm.timus.ru/problemset.aspx?space=1&page=10 uarl 1961-1970 A problem think C(M, m) * C(N-M, n-m) / C(N, n) >= C(
2014-04-18 13:38:43
662
原创 CF #180 (div1)
A. Parity Game problem: 在一个01串中。可以去掉最前面的一个字符;可以在后面加一个字符,若该串有奇数个‘1’则末尾加字符‘1’否则加‘0’。 问能否把a串变为b串。 think: 如果偶数个‘1’则‘0’可以在结尾任意加。又因为前面随便去掉,所以可以在想要的位置去掉前面的‘1’然后结尾加‘1’。所以偶数(n)
2014-04-15 14:56:10
509
原创 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
436
原创 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
465
原创 ZOJ 3494 BCD Code AC自动机+数位DP
problem: 给你 n 个由 01 串组成的病毒。(0 一个数的 BCD 编码为每个数字变成四位的二进制(如127 would be:0001 0010 0111)。 问从x到y有多少个数其BCD编码中没有病毒。(0 think: 用 AC 自动机得到每个状态,每个状态是否已经构成一个病毒,每个状态后面加一个数字后转移到哪个状态。 有了这些处理,就是个简单的数位 DP
2014-04-15 14:53:00
596
原创 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
352
原创 hdu 4117 AC自动机DP + 线段树优化
problem: 给你N个字符串, N(1 4), 所有穿的长度加一起不超过 3 * 105.每个串有个值。这个值[-1000, 1000]. 问不打乱字符串顺序,从中取若干个字符串,使得前一个串是后一个串的子串,求满足前面调条件的字符串值得和最大,求这个值。 think: 建立AC自动机。后面检查取了以每个字符串是最后取的串的最大值。那么检查第i个字符
2014-04-15 14:52:04
1306
原创 CF 359C - 359E #209 (Div. 2)
C. Prime Number problem: 输入 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
504
原创 CF 358D - 358E #209 (Div. 2)
D. Dima and Hares problem 输入n (1 ≤ n ≤ 3000) a1 a2 ... an. b1, b2, ..., bn. c1, c2, ..., cn. n只兔子,每只兔子喂一遍,abc分别是旁边两只都饿着一直饿着一直饱着两只都饱着的joy值,按照某种顺序喂,求最大joy和。 think 两边的情况太模
2014-04-15 14:51:08
673
原创 CF 356A - 356D #207 (Div. 1)
A. Knight Tournament problem 输入 n m 和 m 行 每行 l r x 表示把区间[l, r]中除了x还没有值的变成x 问最后每个n的值分别是多少,没有就是0 think 线段树 code [cpp] view plaincopyprint? int val[333333
2014-04-15 14:50:39
470
原创 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
473
原创 【数位DP】
2.SGU 258 problem 一个2*n位数,前n位数各位数和与后n位数各位数和相等,是lucky数。一个2*n位数,改变一个数字后,依然是2*n位(改前改后都没有前导零),并且是lucky数,则改之前的数称之为近似lucky数。求[l, r] 区间内,有多少近似lucky数。 think dp[枚举到那一位][这个数是2*n位数][sum(前
2014-04-15 14:48:25
392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人