首页 > 代码库 > [训练日志] 7月22-31日

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

<style>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 "Times New Roman" }</style>
codeforces 677E
[给一个0123的n*n网格图。求+形和X形的最大乘积]
[枚举中心点,二分0的位置,然后计算出该点最大的2^a*3^b。比较两个幂次的成绩可以用log()]

 

codeforces 735E
[给一棵树进行黑白染色,要求每个点距离为k的点内有至少一个黑点,求方案数]
[f[x][l1][l2]表示x这颗子树内最浅的黑点距离x有l1条边,最深的白点距离l2条边。然后进行树形DP。背包。]
[细节比较繁琐。可以学习dalao代码]

 

codeforces 66E
[滑动窗口最小值,优先队列]

 

codeforces 95E
[多重背包O(nm)。具体来说按模weight来考虑]

 

codeforces 424D
[给一个数字矩阵,求一个方框的最小费用]
[固定左右界,枚举下界。上界可以通过set得到]
[WARNING:大数据远离cin]
[WARNING:对于set<int> f;来说f.lower_case()比lower_case(f.begin(),f.end())来说快到不知道哪里去了。因为set的iterator是bidirection而vector是random_access_iterator]

 

codeforces 834D
[将一个序列分为恰好k端。每段收益是不同的数字个数,最大化收益。]
[数据结构优化dp实例。考虑当前为a[i],可以给pre[a[i]]+1到i之间的值+1,于是我们可以用线段树维护dp值。区间加x,区间求max]
 

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