上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 109 下一页

2020年5月7日

【好题】导数+统计贡献+扫描—— icpc PNWRC 2019

摘要: 这题的思路很好 首先不难发现,在特定的角度范围内,所求值的函数是线性的,这暗示了最大值必定在 等于某个给定 的角度 时取得。直接暴力地计算每一个值是显然不可取的,但我们可以换一种思路,预先计算每个给 定角度所能对答案贡献的值的函数的导数变化的角度,然后将这些角度排序,开始遍历,维护到达每个 角度时答 阅读全文

posted @ 2020-05-07 09:28 zsben 阅读(145) 评论(0) 推荐(0) 编辑

2020年5月6日

【模板】二分图匹配+构造+最大独立集——icpc PNWRC 2019

摘要: 求最大独立集,一般图的最大独立集复杂度是指数的,要想到怎么构造二分图 由于每个字符串每个字符只出现一次(一开始没看到这个条件。。),所以可以按逆序对奇偶性来给点分组,构造二分图 构造出二分图后,最大独立集=n-最大匹配数 二分图匹配模板(O(nm)复杂度) #include <bits/stdc++ 阅读全文

posted @ 2020-05-06 20:23 zsben 阅读(139) 评论(0) 推荐(0) 编辑

2020年5月3日

【好题】构造+数学+思维——NCPC 2019 Game of Gnomes

摘要: /* 这个构造思路为啥想不到呢。。显然对于一组来说,k+x和x的结果对答案是一样的 枚举完整的k的个数 n/k-m<=i<=n/k 剩下的平均分 */ #include<bits/stdc++.h> using namespace std; #define ll long long ll n,m,k 阅读全文

posted @ 2020-05-03 20:15 zsben 阅读(205) 评论(0) 推荐(0) 编辑

【思维】图论+贪心——NCPC 2019 Incremental Induction

摘要: 理解成图上对应关系就好想得多 如果s[i][j]=‘0’,那么从i向j连一条边,最后形成的图必定是完全图 当右边有t人时,右边输给左边的总场数为sum(out(i))-t*(t-1)/2, 即右边到左边的边总数=右边的点出度和-右边点自己和自己连的边 所以要让k最小,只要给出度排个序即可 #incl 阅读全文

posted @ 2020-05-03 18:21 zsben 阅读(228) 评论(0) 推荐(0) 编辑

【好题】线段树区间合并(CDQ分治)——cf1316F

摘要: /* 离线读入所有值后离散化 题意要求的是,sum{ ai*2^(i-1)*aj*2^(n-j) } 分析这个式子,考虑进行分治 区间[l,r]的 sum{ ai*2^(i-l)*aj*2^(r-j) } 可以将式子分成 ai*2^(i-l) 和 aj*2^(r-j)两部分看, 线段树维护四个值,s 阅读全文

posted @ 2020-05-03 17:37 zsben 阅读(207) 评论(0) 推荐(0) 编辑

NCPC I 2019

摘要: /* n,m,s,d 有n瓶新水放入s个柜子,每个柜子容量是d,每个柜子一开始有si瓶旧水 现在随机在柜子里取m瓶水,使每个人都拿到旧水的概率最大化的放新水策略 */ #include<bits/stdc++.h> using namespace std; int n,m,s,d; struct N 阅读全文

posted @ 2020-05-03 16:35 zsben 阅读(157) 评论(0) 推荐(0) 编辑

2020年5月2日

dp+贪心——2019 NCPC A

摘要: 把结论推出来就完事了 #include <bits/stdc++.h> #define maxn 100000005 using namespace std; int dp[maxn]; struct Node{ int l,w,h; bool operator <(const Node &b)co 阅读全文

posted @ 2020-05-02 22:54 zsben 阅读(179) 评论(0) 推荐(0) 编辑

构造+树形dp+思维——cf1341F

摘要: 这种构造题实在是太耗脑细胞了,看题解又不太甘心。。策略改来改去弄了半天 /* 首先有个结论:每个点至少要用掉的时间=这个点的度数 然后进行构造;设tv为u->v时到v的时间,让v回到u时的时间也是tv,设u有k个子树,那么u只要分配给这k个子树[1,k+1]这些数值即可 再设tu为fa[u]->u的 阅读全文

posted @ 2020-05-02 22:36 zsben 阅读(166) 评论(0) 推荐(0) 编辑

2020年5月1日

01bfs+最短路维护dp——cf1341E

摘要: 昨天刚刚做过类似的题,就是用最短路的松弛方式来维护dp数组 /* 考虑一个二元组(t,i) 表示花费t时间,当前处在绿灯的now=t%g秒,处于结点i now!=0,可以扩展点(t+x,j),且now+x<=g now==0,可以扩展点(t+x,j),且x<=g y用一个优先队列维护这个二元组 */ 阅读全文

posted @ 2020-05-01 21:47 zsben 阅读(151) 评论(0) 推荐(0) 编辑

分类讨论——NCPC 2019 B

摘要: 把情况考虑清楚,分类讨论不太复杂 第一种情况:1+1+1形式 第二种情况:1+2形式 然后枚举每个矩形边长a作为底还是边长b作为底就行 #include<bits/stdc++.h> using namespace std; #define ll long long ll p[4][2]; int 阅读全文

posted @ 2020-05-01 18:13 zsben 阅读(194) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 109 下一页

导航