
DP
文章平均质量分 60
zz_ylolita
这个作者很懒,什么都没留下…
展开
-
bzoj1801 AHOI2009 chess
动态规划计数问题 每行每列最多两个炮 以每一行划分状态 bzoj上不删掉system("pause");就无限RE #include #include #include #include #include #include using namespace std; #define P 9999973 long long f[105][105][105]; int n,m; l原创 2017-08-13 16:25:00 · 359 阅读 · 0 评论 -
poj2533 LIS裸题 O(nlogn)
/*O(nlogn) LIS d[i]表示使得f[i]为i的最小的a[i] !!! d[]的初始值为INF d[]单调递增 证明:反证,假设d[]不单增,与定义矛盾 二分查找d[]中不大于a[i]的最大元素,返回下标 poj 2533 */ #include <iostream> #include <cstdio> #include <cstdlib> #in...原创 2018-07-18 16:58:49 · 291 阅读 · 0 评论 -
hdu4418 Time Travel 概率DP+高斯消元
可以先用BFS判断每个点是否可以到达,在BFS中使用队列和vis[],但是vis[]只用标记一次,并且即使点出队,标记也不要清除,因为如果一个点的vis = 1,那么它要么在队列里,当前不用入队,要么已经出队了,那么这个时候它能影响到的点已经被更新了,不用再入队一次。(和DFS同理) 设E[i]表示从i走到终点y的期望,那么E[y] = 0 来回折返的处理:为了将走动变成只有一个方向,将数轴翻...原创 2018-08-10 11:21:57 · 458 阅读 · 2 评论 -
hdu2167 状态压缩DP入门题
照猫画虎写了道入门题。。讲道理这东西我不应该现在才来学TAT //状态压缩DP入门题 //九宫格的相邻限制条件 //N*N 3<=N<=15 /* dp[i][j]表示前i行,最后一行状态为j时得到的最大分数和 对于一行j的所有可能可以用DFS弄出来,在同行搜索的时候只要保证行不相邻。 在判断合法状态转移的时候,判断本身、左移和右移即可。 dp[i][j] = max{dp[i-1...原创 2019-02-03 22:05:00 · 254 阅读 · 0 评论