上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 109 下一页

2019年8月30日

贪心——cf708b

摘要: 先求0,1的个数,然后贪心输出01即可 阅读全文

posted @ 2019-08-30 16:56 zsben 阅读(130) 评论(0) 推荐(0)

数学二分——cf700A

摘要: 二分答案 阅读全文

posted @ 2019-08-30 16:37 zsben 阅读(203) 评论(0) 推荐(0)

线性dp——1197D

摘要: 一开始没有什么头绪,后来注意到m<=10,考虑是否可以用dp[i][j]表示第i位,前面跟了j个数的最大值 那么第i+1个数,直接和第i个数的[0,m]的m+1种状态去转移即可,如果是由0或m状态拓展出去的,那么值要-k 策略和序列最大连续子段和的贪心策略一样 阅读全文

posted @ 2019-08-30 11:17 zsben 阅读(135) 评论(0) 推荐(0)

tarjan强连通缩点——cf711D

摘要: 模板题 阅读全文

posted @ 2019-08-30 00:26 zsben 阅读(137) 评论(0) 推荐(0)

2019年8月29日

几何向量gcd+暴力枚举——cf552

摘要: 两两枚举点(xi,yi)(xj,yj)对于第三个点(xk,yk),只要向量ik和ij方向不同即可 只要(xj-xi,yj-yi) 和 (xk-xi,yk-yi)化简后不相同即可,用每个点开个map存下一个gcd的pair即可 阅读全文

posted @ 2019-08-29 17:28 zsben 阅读(216) 评论(0) 推荐(0)

暴力——cf557c

摘要: //枚举高度[1,100000],>l的全部割掉, using namespace std; #define N 100005 #define ll long long struct Node{ll id,l,d;}a[N],b[N]; int cmp(Node a,Node b){ return a.lcnt[i]){ res+=cnt[i]*i; ... 阅读全文

posted @ 2019-08-29 15:28 zsben 阅读(712) 评论(0) 推荐(0)

excrt——cf687b

摘要: excrt的理解 问对于方程组x = ai % ci 的 通解 x+tM, (x+tM) % k 是否有唯一值 看tm%k是否==0即可 阅读全文

posted @ 2019-08-29 14:54 zsben 阅读(198) 评论(0) 推荐(0)

2019年8月22日

折半枚举——poj3977

摘要: 暴力搜索超时,但是折半后两部分状态支持合并的情况,可用折半枚举算法 poj3977 给一个序列a[],从里面找到k个数,使其和的绝对值最小 经典折半枚举法+二分解决,对于前一半数开一个map,map[sum]里存下凑出当前sum的最小元素个数 枚举后面一半的所有情况,然后lower_bound去找m 阅读全文

posted @ 2019-08-22 21:03 zsben 阅读(231) 评论(0) 推荐(0)

树形dp换根,求切断任意边形成的两个子树的直径——hdu6686

摘要: 换根dp就是先任取一点为根,预处理出一些信息,然后在第二次dfs过程中进行状态的转移处理 本题难点在于任意割断一条边,求出剩下两棵子树的直径: 设割断的边为(u,v),设down[v]为以v为根的子树的直径长度,up[v]为u所在的子树的直径长度,那么down[v]就是很常规的子树直径的换根dp的求 阅读全文

posted @ 2019-08-22 17:25 zsben 阅读(484) 评论(0) 推荐(0)

hdu第九场多校

摘要: 02:线段树两次扫描 #include<bits/stdc++.h> #include<vector> using namespace std; #define maxn 300005 struct Line{int x,y;char s[10];}a[maxn]; int n,m,K; int c 阅读全文

posted @ 2019-08-22 08:57 zsben 阅读(176) 评论(0) 推荐(0)

上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 109 下一页

导航