- 博客(17)
- 收藏
- 关注
原创 初涉树链剖分 hrbust 2065
一般适用于对于树的区间查询与修改。几个定义:树链:树上两点之间的路径。剖分:将树上的边划分为轻边和重边。重儿子:在 u 的儿子节点中,siz最大的那个节点即为 u 的重儿子。(若存在多个,则任选一个)轻儿子:除重儿子之外的所有儿子节点均为轻儿子。重边:父节点与重儿子之间的连边。轻边:父节点与轻儿子之间的连边。重链:由重边首尾相连组成的路径。操作之前需
2014-03-27 19:58:23 829
原创 SDUT 2838 Word ladder 图的直径
昨天周赛H题。。。当时第一发的时候手残了,改正之后发现好像题意不太对,感觉是找最长的一条没有重点的链,又是一张有环的图,不会做,果断放弃去切了另外一个题。之后也没有再读题,也没有分析样例。。。。直到赛后学姐说是找最短路中的最长路,我才发现自己跑偏了。。也就是说,设P(i,j) 表示 i 到 j 的最短路的长度,则答案为 anw = max( p(i,j) )(i != j)。其实此时 anw
2014-03-23 12:23:42 853
原创 HDU 4597 Play Game 记忆化搜索
这道题还是去长春之前看的,当时以为是博弈什么的。后来学长是记忆化搜索,当时连简单的DP都不会,只好先扔到一边了。dp[s1][e1][s2][e2] 表示第一排剩[s1,e1] ,第二排剩 [s2,e2] 时的最优决策。dp[s1][e1][s2][ e2 ] = sum - min(dfs(s1,e1,s2+1,e2),dfs(s1,e1,s2,e2-1),dfs(s1+1,e1,s2,
2014-03-22 20:53:37 869
原创 TopCoder SRM 613 Div.2 C DFS+剪枝
昨天刚做了一个搜索题,感觉和这个的剪枝方法很像。当把剩下的数都选上时依然满足条件,则用组合数优化。sta[i] 标记的为 从第 i 个到 第 n 张牌一共出现多少个数,最多五十个数,状压就好了。STL 真心不会调试。。#include #include #include #include #include #include #include #include #p
2014-03-22 10:43:22 1186
原创 HDU 3442 Three Kingdoms BFS + 优先队列
已被周赛虐成挂零狗。 BFS + 优先队列 == 最短路,貌似是可以这样理解的。这样得到的结果即为花费最少的一条路。貌似初级计划里面有一个类似的题。 因为受过的伤不会再受,所以需要抽象出第三维来表示受过的哪几种伤(状压)。寒假集训的时候还给大一的选手出过这种题。。。竟然还有脸给大一的讲题。。#include #include #include #inc
2014-03-21 12:33:52 1148
原创 URAL 1495. One-two, One-two 2
dp[ i ][ j ] 表示 长度为 i 的 对 n 取余为 j (若 j == 0 , j = n) 的最优解。mod[1][ i ] 表示1 * (10)^(i-1) 对 n 取余的余数,若 (mod[1][ i ] == 0 ,则 mod[ 1 ][ i ] = n)。mod[2][ i ]同理。状态转移方程 dp[ i ][ j ] = min(dp[ i-1 ][j - mod
2014-03-18 12:32:51 898
原创 CodeForces 402D Upgrading Array
好像没有什么要说的,主要是两个数组的数据范围太大,要做好优化,避免因子的重复计算。预处理:首先计算出 a[] 初始时的 Max = sigma f(a[i]) (1 然后,对于 a[i] ,计算出所有的 gcd[i] ,可以从左边开始递推,时间复杂度o(n).从gcd[n] 开始往左遍历,若f( gcd[ i ] ) 继续枚举 i ,若 f(gcd[i] / gcd[site]
2014-03-17 09:54:47 1101
原创 ZOJ 3697 Bad-written Number
dp[ i ][ j ] += dp[ i-1 ][ k ],match(j,k). 与其说是DP,不如说是模拟题。第一个和最后一个数字要单独讨论,中间的要符合剩下的条件:中间一列和剩下的两列中的 ‘| ’要全部符合输入状态。且衔接部分要取 '|' 的并集,且并集要与输入状态相同。第一个数字要前两列全部符合输入状态,最后一个数则要后两列。 为毛已到周赛就各
2014-03-15 19:23:08 1232
原创 URAL 1900. Brainwashing Device
乍看此题,还以为是扫描线+贪心,每次都扫描出最多的那个站,但是时间复杂度太高,而且写到一半的时候发现了反例. . . . . 接下来开始推式子:dp[ i ][ j ] = max(dp[ k1 ][ j ],dp[ k2 ][ j -1] + ans[site[ k2 ][j-1]+1][i])。k1
2014-03-15 12:43:23 1081
原创 URAL 1513. Lemon Tale 好多大数
dp[ i ][ j ]表示长度 i ,末尾连续 j 个L的方案数。dp[ i ][ 0 ] = sigma dp[ i - 1 ][ j ] (0 dp[ i ][ j ] = dp[ i-1 ][ j-1 ] ( j != 0 && j 这是最简单明了的递推式子,可是时间复杂度为o (n*m),显然难以胜任。通过对式子观察,第 dp[ i ] 对于 dp[ i-1 ]只多
2014-03-13 18:16:00 932
原创 POJ 3254 Corn Fields 矬到荼蘼的状压DP
dp[ i ][ j ] += dp[i+1][ k ] (j,k两种状态均合法)。留着写XXX论文。#include #include #include #include #include #include #include #include #pragma comment(linker, "/STACK:1024000000");#define LL long lo
2014-03-11 15:15:28 759
原创 URAL 1427. SMS
dp[ i ] 表示前 i 个字符的最优解。if( s[i] 为 latin letter || space){if(如果前 (i-1) 个字符的后 m 个 全部为latin letter || space)dp[ i ] = min(dp [i-k]) + 1;(1 elsedp[ i ] = min( min(dp[ site + k1 ]) , min(dp[i-k2
2014-03-10 15:03:55 960
原创 Ural 1287. Mars Canals
突然感觉Ural的难度分类有点扯. . . . . . dp[ i ][ j ][ k ] 表示在第K个方向上连续的个数。#include #include #include #include #include #include #include #include #pragma comment(linker, "/STACK:1024000000");#define
2014-03-09 20:11:31 837
原创 ZOJ 3488 Conic Section
这种题都不会可以滚回高中了好吗?!比赛结束前十秒get了这张图。。#include #include #include #include #include #include #include #include #pragma comment(linker, "/STACK:1024000000");#define EPS (1e-8)#define LL long
2014-03-09 18:25:42 1151
原创 URAL 1036. Lucky Tickets java.math.BigInteger模板
状态转移方程:dp[ i ][ j ] = dp[ i ][ j ].add(dp[ i-1 ][ j-k ]);比以前懒了。。。。贴个大数的模板留着以后用。做DP的时候一定要找出状态转移方程的边界之后再开始敲哇。import java.io.*;import java.math.BigInteger;import java.util.Scanner;public class M
2014-03-05 20:34:12 1140
原创 URAL 1018. Binary Apple Tree
左手也能单手俯卧撑啦!!哈哈哈!!——————————————————————————————算是最基础的树形DP了吧。dp[ i ][ j ] 记录第 i 个节点删除 j 个树枝时的最小值,ans[ i ]记录 i 节点 的 j 的取值范围。设l,r为 i 的子节点,则dp[ i ][ j+k ] = min(dp[ l ][ j ] +dp[ r ] [ k ])。若
2014-03-03 23:33:59 787
原创 URAL 1658. Sum of Digits
做完这个题就一个感觉——智商捉鸡。虽然题目中的 1 好了,发现这个坑开不出数组的问题就解决了。然后试着用BFS来解决,没想到会TLE,感觉节点也不是很多唉。然后感觉像是二维背包,dp[ i ][ j ] = min(dp[ i-x ][j - x*x]+1), 1 然后继续TLE,然后试着写成记忆化搜索的样子,试着剪枝。然后写错了,这里要特别提一下,就是当一种子状态的最优解确定
2014-03-03 11:35:03 965
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人