个人训练记录

来源:互联网 发布:淘宝买东西货到付款 编辑:程序博客网 时间:2024/05/17 09:07

【12/21】 

           【hdu3507】 斜率优化dp典型例题,形如dp[i]=min{dp[j]+f(i,j)}都可以用斜率优化dp将O(n2)做到O(n),斜率优化dp通过减少无效状态数,维护一个下凸集

           【bzoj1010】 n平方也能过,斜率优化可以做到O(n),重点是推斜率公式

【12/18】

           【bzoj3668】 先想到拆位,然后求出来所有位取0或者1能得到的价值,考虑求解,因为高位的价值必定比后面的价值高,所以贪心策略就是从高位往低位取值,3e6

【12/13】

           【bzoj1046】 奇葩的字典序定义,倒过来求LDS就好了

           【bzoj3211】=【spoj2743】 sqrt几次就变成1或者0了,线段树lazy维护一下

           【bzoj5105】 求lcm

           【bzoj5106】 求二分上界很骚

【12/12】

           【bzoj2758】 要求的是最后一个数字最大值,背包dp

           【bzoj1088】 思维题,第一二个格子确定以后,所有的位置都被确定,模拟,检查一下合法性就可以得到答案

           【bzoj1029】 第二类贪心,按时间排序后,能修就修,不能修就找以前的替换找个最优解

           【bzoj3670】【bzoj3680】【bzoj1293】【bzoj1046】【bzoj1597】

           【bzoj1083】 求最小生成树的最大边最小,其实还是求最小生成树


【12/11】

           【bzoj1012】 线段树搞一下就好

           【bzoj2257】 裴蜀定理,倒水的过程就是辗转相除法,所以是个gcd的值,将所有数字因子个数统计一下就好了


【12/10】

           【bzoj2463】 简单找规律

           【bzoj1968】 1~n所有数字约数个数的和

           【bzoj2456】 简单题但是卡内存1M,要想到两两抵消剩下的是ans,不要引入bits会卡内存

           【bzoj1432】 找规律

           【bzoj3098】 hash算法很容易卡掉

           【bzoj1008】 pow(m,n)-m*pow(m-1,n-1)

           【bzoj1257】 n*k-sigma(k/i*i),枚举k/i的值,注意k/i不连续

           【bzoj1207】 按输入顺序dp,m^2

           【bzoj1303】 扫描线很容易想到,然后维护一个前缀和,ans = sigma ( l[val]*r[-val] ) + l[0] + r[0] +1 .

【11/11】

【西南交通大学第十三届校赛】传送门 【solved 9/11】

【A】 水  【B】 水  【K】 水

【C】 14年西安,C(m,k) * sigma( C(k,k-i) * (k-i) * (k-i-1)^(n-1) * (-1)^i) , 0<=i<k

【D】 3600*3600的模意义背包

【E】 考虑每条边贡献度

【F】 贪心,放在前面i-k位置,发现中间增加的是一个sum前缀和的子区间,枚举一下即可

【H】 DAG上做一次dp就可以了

【J】 线段树维护一下区间首项,公差就好了

【11/10】

【LA5913 Dictionary Size】 Trie计数,注意去重就好了

【11/09】

【LA4513 Stammering Aliens】 hash判断一下就好,可是base=26居然被卡了……(ps:map<ull,int>反正我是T了)

【uva11488 Hyper Prefix Sets】 Trie+dfs

【uva2755 Hidden Password】 minpresentation

【11/08】

【bzoj2157 旅游】 树剖,多了一个区间取反,RE了一页

【bzoj2243 染色】 树剖,难点在怎么把分区间的种类数合并,加一个单点查询,数据规模30万

【11/07】

【spoj375 QTREE】 简单树剖,注意是边权值即可

【bzoj1036 树的统计】 简单树剖,维护点权值