03 2013 档案
摘要:一道典型的组合问题,可惜当时想的做法就不对,一直走到黑了。当时想的做法是用容斥做,可惜当时容斥的姿势不对,首先先把问题看成是组合问题最后再转化为排列,枚举每组是否出现挨着的,枚举到头求组合,由于可能统计重复,所以容斥。这种思想明显漏算了很多情况,当时还脑残的认为肯定正确……。想了半天都没想到怎么做,于是去膜拜大神的BLOG去了,虽然只有精简的几行,而且没看懂具体怎么做的,不过思路瞬间成竹在胸了。正解用组合DP做,因为状态能够递推,还是先把排列问题转化成组合问题,最后再乘各组的阶乘。解决组合类问题的思想其实还是那几种,插空、捆绑、隔板什么的。设dp[i][j]为第i组人员加入到队列中后,有j个空
阅读全文
摘要:以后做比赛前一定补好睡眠,没有精神A不动题目……,最后一题的题意到2H才发现看错了,原来是要求曼哈顿距离等于2的而不是小于等于2的……,调了半天样例都输出1……。最后只AC了2题,第一个和最后一个,第二个怎么想怎么是爆搜,是不是爆搜?最后一题排兵布阵是比较经典的状压DP,看群里还有用点独立集做的,还有用插头DP做的?ORZ。做法跟POJ 1185炮兵阵地,这道经典状压DP神似,连题目都神似。所以具体转移方程也基本一样,需要枚举前两行的状态。具体细节不明白的可以先去搜poj 1185的解题报告。题目虽然给的时间很多,但是比赛怕超时就先预处理了所有当前行可行的状态。判断当前行k,和k-2行是否兼容
阅读全文
摘要:腾讯马拉松,我报的是3月23日的那场。其他的几场也看了,不过毕竟其他几日做的是看客,自然也没费劲去思考,23日这场是自己做的,所以比较认真一些。现场AC了3题,分别是A,C,E,做完这3道已经接近1个半小时了,看了提交貌似另外两道很难,无力再去开题了。A题没注意标准时间输出WA了一次,其他1A。由于罚时少,RANK刚好挤进了前50,运气还不错。貌似3月25日的题目最难……只要一题就能够出线,一个报了这场的学姐不知是否顺利晋级。其中A,E题是水题。A题是计算日期,老生常谈的东西,不说了;E题是典型的流水线模型,稍微一琢磨就能AC。至于另外两个题……,B题很直白,因式分解,记得在12年某场网络赛上
阅读全文
摘要:最小度限制生成树是指某一个节点的度限制为k的最小生成树。具体的做法去看论文或者黑书吧,这里不详细讲了。理解最小度限制生成树的解法,最主要的就是看懂如何由m度生成树求m+1度生成树,另外要理解无解的情况。今天终于把模板整理出来了,prim那里用了优先队列优化,添加删除边破环那里用的是动态规划。试了试PKU1639这道题,结果正确,但是由于数据水,不知道效率如何。贴出模板: 1 #define maxn 505 2 struct str 3 { 4 int v,c,n; 5 }edge[maxn<<1];//邻接表 6 int head[maxn],cnt; 7 void i...
阅读全文
浙公网安备 33010602011771号