【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的值,将所有数字因子个数统计一下就好了
【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 树的统计】 简单树剖,维护点权值