[训练日志] 7月17-21日

codeforces 351C
[构造一个n*m的括号序列,每个位置根据%n的情况(和)分别有花费,求最小费用]
[考虑一般dp。有结论状态不会超过n。所以我们以n位为一块,用f[i][k][j]表示目前i位,前缀和最小为k,当前和为j的最小费用,预处理出从状态转移矩阵T。然后用min_plus矩阵加速T^m计算。]
[状态不超过2n的证明:在刚到达2n的前一刻的前缀和一定>n,所以可以将之后和为负的块往前调整,使得状态不超过2n]
[此题也可考虑倍增, F[k][i][j]表示2^k * n个括号形成[‘]‘ * i + ‘(‘ * j)的最小代价。最后将m的二进制1位的答案合并。]
[有规律,状态又多得时候大胆猜想状态是有范围的。可以将状态放宽至2*n。]
codeforces 258D
[给一个排列,以及m个数对。对于每个数对有1/2的概率交换两个位置的数,求最终排列的逆序对数]
[令f[i][j]表示位置i得数>位置j的数。对于数对x,y  f[x][y]=f[y][x],其他f[i][x]=f[i][y]=(f[i][x]+f[i][y])/2]
[如果考虑数i个数j之间的关系,会非常难处理,因为他们的位置经常变化。而考虑i和j位置,本身不变化。不变化比变化好处理,这其中富含某种哲理。]
codeforces 279D
[注意到变量中出现的数只能是ai,于是我们可以用状态压缩dp]
[因为最后一位一定出现,所以可以不记录那一位节省空间和时间]
codeforces 126D
[给定n求其斐波拉契数的拆分方案]
[将其贪心地表示为尽可能大的斐波拉契数。可以证明任何一个数一定能被这样表示出来。然后得到一个01序列,001可以变成110。于是我们从低位的1开始做dp。Dp[i][1]表示这个1保留,dp[i][0]表示这个1拆分。如果拆分会发现这个位置又变成了0,因此对于dp[i+1][0]的转移会有影响]
[如果从高位往低位考虑会发现容易冲突,不利于思考。]
codeforces 18E
[给n*m的网格重新染色,要求相邻颜色不一样且每行最多只能有两种颜色]
[只能交叉染色。F[i][a][b]表示第i层为止按abab染色的最小花费,转移是从f[i-1][x][y](x!=a&&y!=b)记录四个方向的前缀和即可]
NEERC16 Gym101190F
[有一叠牌,每次等概率取若干张,如果最上面为反面就把抽的牌都反过来,求最后反面向上的牌的期望]
[f[i]表示从底往上取完i张牌的期望。等概率的从i+1至n转移来。f[j]+(i到j+1的正面或者反面的数量,由第i张的正反面决定) ]
HDU 4976
[你每回合可以使得一个小兵减一滴血,如果死了就得一分。你的回合后所有小兵会减一滴血。求最大得分]
[先计数。对于c[i]=0的位置,对应之后第一个>=2的位置,代价是位置差。于是可以f[i][j]表示到第i个数,剩下j个行动轮。每次可以把行动轮留着,也可以的一分(c[i]>0),或者花若干代价得一分(c[i]=0)]

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #454545 }
span.s1 { }
span.s2 { font: 12.0px "Times New Roman" }

时间: 2024-10-05 04:33:19

[训练日志] 7月17-21日的相关文章

Python学习日志9月17日 一周总结

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "Helvetica Neue"; color: #000000; min-height: 12.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; fo

[训练日志] 7月22-31日

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Times New Roman"; color: #454545; min-height: 15.0px } span.s1 { } span.s2 { font: 12.0px "

[训练日志] 7月14日

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px "PingFang SC"; color: #454545 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0p

[训练日志] 7月13日

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #454545 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helve

开发培训开始报名了,8月17~20,上海,赶紧报名啊

报名链接:请点击链接完成在线注册 欢迎参加 2015 Autodesk 产品开发培训课程 尊敬的Autodesk 合作伙伴: 当前互联网及BIM热潮正在席卷中国的建筑工程设计行业,随之而来的是BIM行业的各种设计需求如雨后春笋般涌现,当前,不仅大的工民建单位开始应用Revit来做解决方案的基础平台,就象码头设计.施工行业.铁路设计与施工.地铁等大土木行业也开始使用Revit作为BIM平台来解决项目的设计和施工的需要.为了帮助Autodesk中国地区的二次开发人员有机会系统地了解与学习Autode

2017年3月17日下午日志

2017年3月17日下午复习了高等数学,继续观看了张宇高等数学第十二讲教学视频高等数学部分计算题题型数列极限的计算原则和方法,深入学习了夹逼准则题型和解决方法,也叫哪里跑准则,认识了很重要的数学家费马和罗尔极其相关数学史,初步学到费马定理.完成英语单词的背诵.

5月17日上午学习日志

2017年5月17日上午把昨天记忆的英语单词的多种词意用自己组句的方法联系起来再记忆一遍,然后再联系真题学10个考研高频词汇,然后再复习昨天的词汇,听外教讲授Eclipse 的课程老师在课堂上给我们展示了第一代计算机的VCR,其实包括计算机的构造,工作原理和运作及其功能等 ,增长了我的见识.再完成扇贝四级单词的打卡.

Python 学习日志9月21日

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "Helvetica Neue"; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #000000 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "Hel

2016年7月21日学习笔记

2016年7月21日学习笔记 Linux安装以后出现的文件目录的作用: 文件系统的类型 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.SHELL脚本.二进制的可执行文件等,可用cat.less.more.vi.emacs来察看内容,用mv来改名. 目录文件:包括文件名.子目录名及其指针.它是LINUX储存文件名的唯一地方,可用ls列出目录文件. 连接文件:是指向同一索引节点的那些目录条目.用ls来查看是,连