07 2012 档案
摘要:突然间想起了关于信仰的话题,自己不想很多伟大和强悍的人,有着坚忍不催的信仰,很多事想做就不顾后果的做了,常常会弄得最后一塌糊涂甚至后悔莫及,回想伴着ACM一路渴磕磕碰碰,走走停停,最终却是一句话让我走到了现在。 每当想要放弃的时候,想想当初坚持的理由。 印象中是寒假过后在人人上看到这句话,并第一次把它记在心里。寒假的时候其实就想过要放弃了,之后看到了这句话,又使水水的celia01留在了ACMer的队伍中。对比今年去年不敢说能力的差别有多大,至少心态确实差很多。今年变得要比去年更认真,更希望独立。时间越来越紧,略感紧迫的我仍然在不时的以一直惯用的自我安慰来放松自己。一贯遇事表面上都是嘻...
阅读全文
摘要:dp一直弱死了,树型dp很多基本的题都不会,最近在刷树型dp的题,把关于树的最长路的思想总结一下:树的直径:树中距离最远的两点间的距离。下面说几道题:hdu 2196:对于树上(双向边)的每一个节点求出与其距离最远的点的距离。这个主要用的思想是两次dfs:一次dfs将无向图转化为有跟树(所以一开是一定要是建双向边,不然很可能wa或者tle,记录过程中可以开数组记入父亲节点,也可以在dfs递推过程中以栈的形式记录)求出每个跟节点到其所有的叶子节点的最远距离f[i]和g[i]。再一次dfs求出能够由父亲节点转化得到的最大距离h[i],求h[i]的过程中就有可能用到f[i]和g[i]了,因为如果i节
阅读全文
摘要:一道状态压缩DP,比赛时没时间仔细想了,赛后想了想转移那部分也有点糊里糊涂的,后来请教了一下yk同学,才肯定了一下那个状态表示,后来自己一边探索,一边敲码,一边调试,确认无误后得到1A。看到题很自然的想到从低位开始往高位处理,基本处理加的思路是:在本位上只有可能+1(由1变成0,由0变成1)或者+2(由0变成0,由1变成1,但是存在进位),基本的情况是本位只可能主动+1,如果+2则可能是后一位进位过来了的。基本状态是dp[i][j]:处理玩了第i位(第0~i位异或已经全为0),第i位有j堆需要想第i+1位进位。状态转移:由第i+1位本身的值,加上第i位至第i+1位的进位,会得到一串新的值,但是
阅读全文
摘要:最大连续子段和有各种方法,很多的都含着暴力的解法,一维O(n)的解法的也已经很熟悉了~现在复习一下,便于进行拓展最大连续子段和a[]数组存储原序列,dp[i]表示处理完第i个数后(包括第i个数在内)的目前最大连续字串dp[i] = dp[i-1]+a[i],如果dp[i] 2 #include 3 4 int main (){ 5 int a[110][110]; 6 int b[110][110]={0};//第k列前j行 7 int n; 8 int i, j, k; 9 int s , max1, max=0;10 scanf("%d",...
阅读全文
摘要:最长上升子序列(LIS)最长上升子序列是最基本的dp问题,以前一直都只写过O(n^2)的解法,现在终于有时间整理一下了。把poj上的几道最长上升子序列的水题又重新做了一下,主要有1631、2533、3903方法一:O(n^2)dp[i]:表示处理到第i个位置,序列的最长上升子序列末尾为i的长度; a...
阅读全文
摘要:题意:一个1~n的序列,分别用'I','D'表示序列的升降,如{1,2,4,3},则是属于IID的情况,而1~4中属于IID情况的可以有很多不同的序列,给出序列的I、D表现形式(‘?’表示‘I’或‘D’都可以),求出满足这样要求的有多少种。例如:Sample InputIIIDDIDD?D?? Sample Output122136HintPermutation {1,2,3} has signature "II".Permutations {1,3,2} and {2,3,1} have signature "ID".P
阅读全文
浙公网安备 33010602011771号