愿你那可爱的光明前途——十二月刷题记录

额。。noip考完了。。十分悲伤面试

仍是。。。继续努力吧。。膜拜满分大佬数组

已结束:20/50网站

2016.12.01spa

【1】bzoj03-A-Anniversary party   树的最大独立集。标准无脑树形dp。排序

【2】bzoj03-C-Balancing Act   记录每一个节点所承载的重量便可。ip

【3】bzoj04-B-Marriage Ceremonies   (个人理解)带权n皇后。每一个状态中的1的个数对应的是行数。ci

【4】bzoj04-C-炮兵阵地   状压dp。由于破坏范围是相邻的两行和两列,第i行的状态的可行性至于第i-1行和第i-2行有关。滚动dp写起来比较繁琐。这题数据小,能够不滚动。rem

【5】bzoj04-A-Corn Fields   状压dp。跟【4】差很少,但比它简单。只用考虑前一行的状态就好了。io

 

 

2016.12.03循环

//noip2016告诉我:若是这题第一眼看上去是全排列,那么它极可能是dp!noip2016血的教训T_T

//lrj的集训指南真的很是好!就是太难了,须要多多考虑一下QAQ

【6】UVa11464-Mobile phones   一道标准的反转题。核心思路:每一个节点都与其上下左右四个节点有关,因此,设节点在第i行,只需构造出前i行节点的状态,它的下节点就只能有惟一的可行解。故,直接01穷举第一行的状态,从第二行开始,每一个节点能够看做是其上方节点的下节点,前面说了它只有惟一解。判断是否可行及是否最优便可。复杂度为O((2^n)*n*n)。

//UVa为什么这么慢。。我几年没碰了怎么仍是这样慢QAQ

【7】UVa10881-Piotr's Ants   好题!(求别人的大脑构造,我实在想不出如此优雅的解法!!!)实现起来不难,关键是思路。首先,“两只蚂蚁相遇后背道而行”的状况,能够转化为“两只蚂蚁穿过彼此并继续向本身的方向前进”。这样转化不会改变最后蚂蚁的位置。因而,问题就转化为“怎么求每一个位置对应的蚂蚁”。自行脑补:全部蚂蚁的相对位置不会发生改变(由于它只会夹在先后两只蚂蚁间被弹来弹去)。这样位置与蚂蚁就一一对应了。

【8】bzoj04-D(poj2411)-Mondriaan's Dream   好题!已沉沦。状压dp。0表示未覆盖,1表示已覆盖。dp[i][p]表示第i行的覆盖状态。由于是用1*2的纸覆盖,因此第i行最多只与第i-1行有关,则dp[i][p]=sigma(dp[i-1][pre])。边界:dp[0][(1<<m)-1]=1。ans为dp[n][(1<<m)-1]。此题还需用滚动数组,每次都需注意清零。

//滚去写做业了。。。晚上还要上sb物理课。。人生就不能没有课外班吗??真搞笑

 

 

2016.12.06

//在学校2333。。之后在家看书在学校上机

【9】bzoj05-B-Knapsack problem   01背包。将w,v交换便可。

【10】bzoj05-E-Average distance   树形dp。不要管两点之间的路径,只需求每条路径被经过了几回,边累加边模,不要等最后再模,否则会超long long

【11】bzoj05-M-Palindrome   可爱的区间dp+容斥。对于每个区间,咱们能够隔离第一个和最后一个,但这中间重复累加了同时删去第一个与最后一个的状况,再加上便可。转移方程为dp[i][j]=dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1]。

 

 

2016.12.10

//终于等到周末了,已经不许备管个人几十页课课练了,不能急了!!!

//居然有网上试听课这种有毒的东西,垃圾!

//为了准备省级英才的面试,宝宝立fla要今天把论文中涉及的几道题再编一遍,加油!

//由于与某梨飙歌,错乱了计划,如今5点了都没有动工,药丸!

【12】poj3159-Candies   差分约束。第一次用spfa作居然tle了,缘由是用queue会超时,得改为stack(然而并不会)。后来改成dijkstra就成功了。

 

 

2016.12.11

//好吧,真的拖延到今天了呢2333药丸

【13】poj1364-King   差分约束。一开始居然浪到连bellman-ford是什么都忘记了!!!个人娘。注意:前缀和的下标从0开始,到n结束,因此bellman-ford跑n+1遍!!

 

 

2016.12.15

//强!vjudge忽然登不上去了!!!。。。。

【14】bzoj2330-[SCOI2011]糖果   查分约束。bzoj好难,每次花很久才只能作一题2333。重编了这道写进英才论文的题,它又给了我无限的启示。首先,这题最后求的是糖果的最小值,因此转化成图时应该算最大值(而不是论文中的最小值,如果这样的话,一是确定会死循环,二是全部人都会分得负数个糖果。。。可怕),因此不能死作题,不能由于求最短路的题多就把全部题想成求最短路。一开始我wa了几回,后来发现是个傻缺的错误:不可行时没有输结果。。。改过以后我变成了tle。觉得是环未判出而陷入了死循环,改了很久没有进展。突然灵光一现以为应该是STL的耗时问题。因而将queue改成了用一个数组存储,结果终于A掉了。很是开心

 

 

2016.12.17

//下午正好有空,原来是想作usaco月赛的,结果网站貌似访客太多点不进去,因此只好随便刷些vjudge的题了2333

【15】bzoj08-A-Sonya and Problem Wihtout a Legend   思惟dp。主要考思惟,实现起来不难。从单调递增序列转化为单调不降低序列只须要将每一个数减去其数组序(a[i]-=i)。当问题转化为单调不降低序列时,咱们发现,最后获得的全部数都确定是原数列中出现过的数。因而,就有了如下dp的作法:dp[i][j]表示序列中前i个数变成每一个数的值不超过b[j]的单调不降低序列所用的最小花费(b[i]为a[i]离散化后从小到大排序后的数组)则dp[i][j]=min(dp[i][j-1],dp[i-1][j]+abs(a[i]-b[j]))。

//先做业去了,带着祝福

 

 

2016.12.18

//把hrj课给旷了,准备作usaco月赛,但密码忘了,因此花了很长时间在注册

//由于是个新帐号,只能从铜组开始作了2333

【16】【17】【18】usaco铜组。真。普及-。洛谷上那不叫。

//开始作银组2333

【19】【20】usaco银组。t3没看懂2333。sad

相关文章
相关标签/搜索