DP
文章平均质量分 74
Kewowlo
这个作者很懒,什么都没留下…
展开
-
【DP】 HDU 4427 Math Magic
点击打开链接题意:求K 个数的数列 ,和为N , LCM 为M 的个数因为M 的 除数很少 最多10 个 先处理出来就可以O(K*N*10*10) 处理了#include using namespace std;typedef long long LL;#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1#pragm原创 2015-10-12 21:08:48 · 447 阅读 · 0 评论 -
【数位DP】 HDU 4734 F(x)
点击打开链接题意:计算[ 0, B ] 区间内 值比A小的个数dp[pos] [ sum ]#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #inclu原创 2015-03-23 20:52:23 · 387 阅读 · 0 评论 -
【数位DP】 HDU 4283 You Are the One
点击打开链接题意: 一队人按照顺序上台,但是可以通过一个栈来调整顺序。例如:原顺序 1 2 3 4 -> 1进栈出栈 2进栈 3进栈出栈 4进栈出栈 2出栈这样 顺序变成 1 3 4 2 。顺序只能往后推移。dp[ L ] [ R ] 表示 只考虑L - R 之间的顺序,枚举 第L个人在L-R中排名第 i 位,得到子问题 dp[ L+1 ] [ L+i-1 ] 排原创 2015-03-26 21:32:01 · 525 阅读 · 0 评论 -
【数位DP】POJ 3252 Round Numbers
点击打开链接题意计算区间内中 二进制下 (0的个数>= 1的个数 ) 数的个数。#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include原创 2015-03-19 19:38:42 · 434 阅读 · 0 评论 -
【Codeforces】 21D Traveling Graph
点击打开链接一道欧拉回路 ,要求经过每一条边最后并回到起点1,使得走长度的最小。欧拉回路的必要条件是每个点的度数为偶数,对于奇数的点之间添加上一条边,这里用状压DP枚举。#include #include #include #include #include #include #include #include using namespace std;#include原创 2015-03-03 19:41:48 · 772 阅读 · 0 评论 -
【状压DP】 HDU 4284 Travel
点击打开链接题意:从点1开始旅行N个地区,每个地区之间需要路费,要求必须经过特定的H个地区,因为钱不够所以要在这些地区打工(只能一次),但是先要购买该地区的工作证,钱不够不能购买。因为有N个地区(N>=H) ,可以不管其他地区,用最短路得到H地区之间的最短路,然后就是一般的状压dp#include #include #include #include #include #in原创 2015-03-02 21:51:13 · 471 阅读 · 0 评论 -
【DP】Codeforces Round #139 (Div. 2)225 C Barcode
点击打开链接题意:将原图涂成 ‘#’ / ‘.’ 相间,宽度在x-y之间的垂直竖线的最小步数 因为涂出一个竖线时 整个竖线的区域都要变成一种颜色,计算出某种颜色的前缀和方便计算#include #include #include #include #include #include #include #include using namespace std;#原创 2015-02-11 10:31:22 · 672 阅读 · 0 评论 -
【DP】 HDU 2859 Phalanx
求在对角线上对称的最大子矩阵以右上角为上一个状态#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include #define cle原创 2015-02-21 14:34:51 · 591 阅读 · 0 评论 -
【DP】UARL 1146 Maximum Sum
复杂度O( N^3 )类似求一个数列求区间最大,1 -2 3 -5 2 3 4求了前缀和后O(N)即可得到这里枚举矩阵的左端右端,(或者上端下端) 后用以上方法做即可#include #include #include #include #include #include #include #include using namespace std;#inclu原创 2015-02-08 19:03:11 · 788 阅读 · 0 评论 -
【数位DP】 HDU 3555 Bomb
点击打开链接求0-N之内 存在49的个数先是统计了0-2^63内所有没有49的个数n-getans(n+1)+1;getans(n+1)统计的是 0-n内的个数#include #include #include #include #include #include #include #include using namespace std;#incl原创 2014-12-08 22:49:18 · 639 阅读 · 0 评论 -
【概率DP】 LightOJ 1027 A Dangerous Maze
题意:N个门,接下有N个数正数X能花费X时间逃出迷宫,负数Y表示-Y时间重新选,选每个门的概率一样求花费的时间的期望ANS= P1*X+(1-P2)*(Y+ ANS);X表示正数平均值Y表示abs(负数)平均值#include #include #include #include #include #include #include #include usi原创 2014-12-24 00:59:42 · 791 阅读 · 0 评论 -
【概率DP】 LightOJ 1038 Race to 1 Again
点击打开链接题意:给出N 每一步都可以选N的一个除数D N=N / D 求N=1的期望DP[ N ] = sigma DP[ N的除数 ] * 除数个数的倒数+1 ; 右边还有DP[ N ](除数==1 时) 提取移到左边就可以了 #include #include #include #include #include #include #include原创 2014-12-24 00:50:58 · 735 阅读 · 1 评论 -
【DP】 HDU 1494 跑跑卡丁车
DP[ i ][ j ] i 表示第i段,j表示能量 0转移方程 dp[ i ][ j ]=min(dp[ i ][ j ] , dp[ i-1 ][j-1],dp[ i-1 ][j+5] );还要注意 当j==10的情况#include #include #include #include #include #include #include #includ原创 2014-12-01 21:45:29 · 798 阅读 · 0 评论 -
【DP】HDU 1025 Constructing Roads In JGShining's Kingdom 最长上升子序列
要求不相交,求最长上升子序列#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include #define cler(arr, val)原创 2014-11-29 21:39:15 · 597 阅读 · 0 评论 -
【DP】 Light OJ 1004 Monkey Banana Problem
点击打开链接还是数塔。。上面一堆用 -1 下面一堆用 +1(s[i]表示)#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include原创 2014-11-30 18:08:12 · 711 阅读 · 0 评论 -
【DP】 POJ 3311 Hie with the Pie 状压 TSP问题
现场赛TSP#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #define cler(arr, val) memset(arr, val, sizeof原创 2014-11-03 23:02:56 · 830 阅读 · 0 评论 -
【数位DP】 HDU 3709 Balanced Number
点击打开链接题意:在一个范围内找出,已某一位为中点两边重量相同的数的个数例:4139 :已3为中心 左边 4*2+1*1 = 右边 9*1思路:固定好中点 得到的答案再减去 len-1 (重复了0)#include #include #include #include #include #include #include #include using nam原创 2015-03-23 19:52:50 · 416 阅读 · 0 评论 -
【数位DP】 Codeforces 55D Beautiful numbers
点击打开链接求区间的内的数,能被该数上的每一位整除。求1-9的lcm#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include原创 2015-03-24 19:47:37 · 438 阅读 · 0 评论 -
【DP】 HDU 3689 Infinite monkey theorem 预处理
点击打开链接题意:一只猴子可以有n个键 可以敲m下求能敲出目标串的概率。思路:可以先求不能敲出目标串的概率用 dp[i][j] 表示 敲第 i 下时, 得到 目标串 j 结尾 的概率 例: 目标串 word wcwor 这是dp[ 5 ][ 3 ] 的状态。。如果目标串是 aaaaabaaaa 这样的 就会转移到奇怪的地方。。原创 2015-10-24 22:18:18 · 728 阅读 · 0 评论 -
【DP】 HDU 3229 Jinyuetuan Puzzle
点击打开链接题意: 7个键的劲乐团。给出每个键出现要敲打键盘的时间。 然后再给出K个不能同时按的状态 比如 11110000不能按那么11110100也是不能按的。。对于单音正确的时间敲到得一分对于长音开始的时间敲到得一分 ,最后时刻松开再得一分,期间松开的话得不到松开键的分数求最大可得分数最主要的是处理长音的松开的那一分。对于短音标记为1 长音 开始原创 2015-11-08 21:18:29 · 756 阅读 · 0 评论 -
【DP】 FZU 2204 7 成环
点击打开链接dp[][][][] 存方法数第一维 存第一个放黑球还是白球第二维 存第i个球第三维 存第i个球是黑还是白第四维 存第i个球前连续几个球是相同颜色#include #include #include #include #include #include #include using namespace std;#include #includ原创 2015-10-07 22:26:31 · 533 阅读 · 0 评论 -
【搜索+状压DP】 HDU 3681 Prison Break
点击打开链接题意:开始能量包能提供走K步的能量,从F点出发要经过每一个Y点,通过G点时能充满能量包。且不能经过D点求最小的K。Y+G的个数最多有15个因为只有15个有用的点预处理出两两的距离,二分K值 状压搞一搞#include using namespace std;typedef long long LL;typedef pair PI;char s[12原创 2015-11-04 21:19:28 · 522 阅读 · 0 评论 -
【DP】 HDU 5115 Dire Wolf 区间DP
点击打开链接题意:一头狼的攻击力= 自己攻击力+相邻两边的狼的加成每杀一头狼会收到一次攻击求受到的攻击和最小比较裸的区间DP#include #include #include #include #include #include #include #include using namespace std;#include #include #in原创 2014-11-29 17:35:08 · 1407 阅读 · 0 评论 -
【DP】 POJ 1651 Multiplication Puzzle 区间DP
裸题 看代码感悟下原创 2014-11-11 23:08:00 · 651 阅读 · 0 评论 -
【数位DP】HDU 4389 X mod f(x)
题目地址 题意:求区间内 能被 自己每位上的和整除(即模 ==0)的个数枚举每位上的和 MOD 取值[1,81] 就转化为 区间内 能被 MOD整除以及 每位上的和等于MOD 的个数#include <cstdio>#include <cstring>#include <cstdlib>#include <string>#include <iostream>#include <algo原创 2015-07-13 14:58:44 · 544 阅读 · 0 评论 -
【概率DP】 CF 148D Bag of mice
点击打开链接题意:拿到white赢princess 先拿 dragon拿了后会 随机会减少一个,相对于第三个人拿,但是不算输赢四种情况: 1. princess 拿到 white (win2. dragon 拿到 white (lost3. princess 拿到 black dragon 拿到 black 第三人 拿到 black 4. princess原创 2015-05-22 20:27:37 · 469 阅读 · 0 评论 -
【树形DP】 POJ 1947 Rebuilding Roads
点击打开链接最少剪去多少条边使得存在一个节点数为P的树#include #include #include #include #include using namespace std;#include#include #include #include #include #define LL long long#define N 1000100const int原创 2015-05-17 10:27:50 · 483 阅读 · 0 评论 -
【TSP】 HDU 4568 Hunter
点击打开链接题意:必须经过 从图外进入图中,必须经过 K个格子,再走出格子,求最小的值。先对全图BFS,计算出最短路和格子 走出图的最短路对于K个格子用TSP 处理//#include #include #include #include #include #include #include #include #include us原创 2015-05-17 10:35:47 · 628 阅读 · 0 评论 -
【概率DP】 ZOJ 2949 Coins of Luck 期望
点击打开链接基础题逆推#include #include #include #include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #i原创 2015-04-06 21:27:11 · 533 阅读 · 0 评论 -
【状压DP】 ZOJ 3777 Problem Arrangement
点击打开链接题意:N道题目,排序,每道题在不同的位置得到的值不同。求随机排序后得到值大于等于m的期望次数。因为是随机排序,所以概率就是 总数/可行数#include #include #include #include #include using namespace std;#define ll long longint n,m,t;int a[原创 2015-04-22 20:55:29 · 642 阅读 · 0 评论 -
【DP】ZOJ 3605 Find the Marble
点击打开链接题意:N个杯子,开始小球在第S个杯子中,M次 杯子互换,但是只看到了K次互换,问小球最后在哪个杯子的概率最大三维记录:第几次互换,第几次看到,球的位置#include #include #include #include using namespace std;#define ll long longll t,n,m,k,d,a[111],b[111],原创 2015-04-22 21:32:08 · 625 阅读 · 0 评论 -
【数位DP】 HDU 2089
点击打开链接区间内不出现4 或者62 的个数#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include #define cler(原创 2014-12-08 23:04:32 · 659 阅读 · 0 评论 -
【数位DP】SPOJ 10606 BALNUM Balanced Numbers
点击打开链接题意:每一个奇数出现偶数次,每一个偶数出现奇数次。#include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include #def原创 2015-03-24 18:36:13 · 621 阅读 · 0 评论 -
【DP】 HDU 4539 郑厂长系列故事——排兵布阵 状压
纯暴力无任何优化3500+ms #include #include #include #include #include #include #include #include using namespace std;#include #include #include #include #define cler(arr, val) memset(arr, v原创 2014-11-02 22:33:58 · 729 阅读 · 0 评论 -
【DP】 HDU 5092 Seam Carving
从上到下找到一条路 要路上的值最小如果原创 2014-11-02 18:17:12 · 816 阅读 · 0 评论 -
【DP】HDU 2189 悼念512汶川大地震遇难同胞——来生一起走
嘀嘀嘀原创 2014-09-01 10:39:09 · 652 阅读 · 0 评论 -
【DP】UVA 10003 Cutting Sticks 类似矩阵链乘
记忆化搜索#include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include #define IN freopen ("in.txt" , "r" , s原创 2014-09-01 22:09:52 · 465 阅读 · 0 评论 -
【DP】HDU 1143 Tri Tiling
需要放满格子,所以N为奇数时ans应该为0;原创 2014-09-01 15:40:13 · 548 阅读 · 0 评论 -
【DP】UVA 111 History Grading
输入的序列是表示 ai的位置上值为 i原创 2014-08-31 20:38:14 · 688 阅读 · 0 评论 -
【DP】HDU 3127 WHUgirls 完全背包
dp[i][j] i表示长 j表示宽原创 2014-08-16 21:15:55 · 709 阅读 · 0 评论