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

2020年5月1日

【经典】虚树+字典树——ICPC NCNA 2018 A

摘要: 首先建立好trie,由于问题询问的结点和不超过2e5,可以用虚树解决 bug百出。。调试了一上午 /* 对给定串建立trie,标记上终止结点,d[u]表示结点u的深度 对于每个询问,标记k个串对应的终止结点,然后建立虚树 虚树里维护size[u],fa[u],所有size[u]=L的点都是符合要求的 阅读全文

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

2020年4月30日

随机+硬核积分+前缀和——ICPC NCNA 2018 H

摘要: 有一个结论:在线段(长为L)上任取两点,截取的线段期望长度是L/3 知道这个结论后这题就可以做了 但还是要分类大讨论+公式化简,用前缀和做 #include <bits/stdc++.h>#define _for(i,a,b) for(int i=a;i<b;++i)#define _rep(i,a 阅读全文

posted @ 2020-04-30 22:32 zsben 阅读(157) 评论(0) 推荐(0) 编辑

2020年4月29日

【好题】最短路变形+dp——ICPC NCNA 2018G

摘要: #include<bits/stdc++.h> using namespace std; #define ll long long struct Edge{ ll to,nxt,w,c; }e[10005]; int n,m,k1,k2,tot,head[1005],S,T; void init() 阅读全文

posted @ 2020-04-29 23:05 zsben 阅读(181) 评论(0) 推荐(0) 编辑

2020年4月28日

贪心/二分——cf1342D

摘要: 直接判断分成x组能否满足,从大到小平均分是最合理的方案 #include<bits/stdc++.h> using namespace std; #define N 200006 int suf[N],n,k,m[N],c[N]; vector<int>v[N]; long long t[N]; i 阅读全文

posted @ 2020-04-28 14:10 zsben 阅读(204) 评论(0) 推荐(0) 编辑

思维+贪心+dp——cf1341D

摘要: 感觉dp状态还是挺不容易想到的 /* dp[i][j]表示后i个数用j根火柴棒是否可行 mp[i][j]表示第i个字符变成j需要多少根火柴棒求答案时从高位到低位贪心 */ #include<bits/stdc++.h> using namespace std; #define N 4005 int 阅读全文

posted @ 2020-04-28 14:07 zsben 阅读(133) 评论(0) 推荐(0) 编辑

【经典】容斥+排列组合——cf1342E

摘要: /* 设每行都有一个,每列上每多一个攻击对就会+1, 列上多了k个,那么只有n-k列上有棋子C(n,n-k) 问题变成将n个棋子放在n-k列上,且每列必须有一个,每行必须有且仅有一个的方案数 容斥: ans=将n个棋子随便放在某一列 pow(n-k,n) -有一个空行 pow(n-k-1,n)C(n 阅读全文

posted @ 2020-04-28 11:40 zsben 阅读(269) 评论(0) 推荐(0) 编辑

计算几何+求质心+求多边形与圆交面积——ICPC GNYR 2019

摘要: /* 先求出多边形的质心 将多边形分割成三角形 OViVi+1, 求每个三角形的质心((x1+x2+x3)/3,(y1+y2+y3)/3),然后再有向面积加权 然后求圆和多边形的交点:套模板即可 */ #include<bits/stdc++.h> using namespace std; type 阅读全文

posted @ 2020-04-28 00:34 zsben 阅读(296) 评论(0) 推荐(0) 编辑

【好题】思维+几何+弦的圆心角——ICPC GNYR 2019 E

摘要: /* 两个重要的结论: 1.将每条边强行移到圆上,如果多边形所有边的圆心角之和=2pi,那么圆心在多边形中;>2pi,那么圆半径太小;<2pi,圆半径太大 2.不管按什么顺序摆放边,都不影响多边形的对应其外接圆(如果有)的圆心角之和 给定多边形的各边边长,要求构造出一个多边形,使其所有点在外切圆上, 阅读全文

posted @ 2020-04-28 00:03 zsben 阅读(157) 评论(0) 推荐(0) 编辑

2020年4月25日

思维题+分数的进制转换——ICPC GNYR 2019 J

摘要: /* 给定 base = p/q,找到一个数组a[],每个元素的范围是[0-9A-Za-z],就是[0,61] 使 n = a[k]*base^k + a[k-1]*base^(k-1) + ... + a[1]*base + a[0] 本质上是进制转换:将十进制数n转换成base进制 因为a[]数 阅读全文

posted @ 2020-04-25 22:43 zsben 阅读(255) 评论(0) 推荐(0) 编辑

【好题】组合数学——ICPC GNYR 2019 J

摘要: /* 首先推出一个结论:外圈有n个点的图答案必定是 n*f(n)的形式,因为每转过一个角度都会计数一次 然后来考虑f(n):显然所有可行的解中只能有一个圈,大小为k的圈必定只会有一种连接的方法 所以只要考虑剩下n-k个圈外点的连接种数即可 设i个圈外点的连接方案数是g(i),同时我们以顺时针把这些圈 阅读全文

posted @ 2020-04-25 20:33 zsben 阅读(153) 评论(0) 推荐(0) 编辑

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

导航