
比赛总结
文章平均质量分 76
jinglinxiao
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 66
Educational Codeforces Round 66E:题意是给定 nnn 个区间,再给定 mmm 个区间,问这 mmm 个区间中的每一个至少需要多少个从 nnn 个区间内取出来的区间使得完全覆盖所有点。设 dp[i][j] 为从 iii 左边的任意位置,经过 2j2^j2j 个区间最远可以跳到的位置。转移就是 dp[i][j+1]=dp[dp[i][j]][j] 。那么对于每一...原创 2019-06-06 14:20:23 · 167 阅读 · 0 评论 -
Codeforces Round #562 (Div. 1)
Codeforces Round #562 (Div. 1)A:题意是给定一个数组,每次可以对数组中的任意一个子集中的元素自增1,求最少需要多少次操作使得这个数组非降序。显然可以看出操作次数对这个问题满足二分性质的,二分一下就行了。#include <bits/stdc++.h>using namespace std;const int N = 3e5+7;int a[N...原创 2019-06-01 16:39:52 · 289 阅读 · 0 评论 -
The 2019 ACM-ICPC China Shannxi Provincial Programming Contest
The 2019 ACM-ICPC China Shannxi Provincial Programming ContestC:题意差不多就是求点到圆的切线的切点。#include <bits/stdc++.h>using namespace std;const double PI= atan((double)1)*4;int main() { int T; ...原创 2019-06-01 23:05:08 · 686 阅读 · 0 评论 -
Codeforces Round #567 (Div. 2)
Codeforces Round #567 (Div. 2)D:题意是在树中确定一个根,使得相同深度的点度数相同。稍微画一下可以知道,根要么在直径上,要么在直径终点延伸出的一条链的端点上。因此只需要处理直径的两个端点、直径的中点、直径延伸出的最短的链的端点这几个点就行。如果这几个点都不满足要求,则输出-1。#include <bits/stdc++.h>using name...原创 2019-06-13 16:21:22 · 297 阅读 · 0 评论 -
Codeforces Round #564 (Div. 1)
Codeforces Round #564 (Div. 1)本场本菜鸡喜提倒数第10,菜的真实。A:首先看能不能在牌底为1开始的升序时,通过打牌连上这个升序。如果不能的话,考虑先用手上的0兑换牌顶的k张牌,然后再开始打1升序,这部分满足二分性质。#include <bits/stdc++.h>using namespace std;const int N = 2e5+7;...原创 2019-06-09 23:42:32 · 222 阅读 · 0 评论 -
Codeforces Global Round 3
Codeforces Global Round 3F:题意是给定 nnn 个物品,每个物品有一个权值和一个掩码。这些权值之和不为0 。需要求出一个 sss ,最终求和为:将 sss 与掩码按位与,如果结果有奇数个1,那么将这个物品的权值取反。求出这个 sss 。考虑将所有物品按掩码的最高位 kkk 进行分类。很容易知道,第 kkk 位是否置1不会影响掩码最高位小于 kkk 的物品对求和的贡献...原创 2019-06-10 21:50:03 · 178 阅读 · 0 评论 -
2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest
2016-2017 ACM-ICPC, NEERC, Southern Subregional ContestA:求出数组中的最大值对应的下标 iii ,当 r[i]−R≤∑j≠ir[j]−Rr[i]-R \leq \sum_{j \neq i} r[j]-Rr[i]−R≤j̸=i∑r[j]−R 时,这个R才有效。然后通过每次取两个最大的出来分别减1就行。对于 R=0R=0R=0 的情况...原创 2019-07-08 01:14:28 · 187 阅读 · 0 评论 -
Educational Codeforces Round 67 (Rated for Div. 2)
Hackforces…D:题意是可以进行任意次操作,每次操作将一个子数组进行排序。问能否将数组a变为数组b。通过交换相邻两个元素(当前一个大于后一个)使得一个子数组有序是冒泡排序的算法。这就是说题目中的每一次操作可以看成若干次交换相邻两次元素的操作,且交换相邻两个元素是满足题目操作的要求的。因此问题转化为每次操作是排序一个长度为2的子数组。那么对b从左到右遍历。对于一个元素 b1b_1b...原创 2019-07-03 21:23:31 · 152 阅读 · 0 评论 -
2015-2016 Petrozavodsk Winter Training Camp, Moscow SU Trinity Contest
2015-2016 Petrozavodsk Winter Training Camp, Moscow SU Trinity Contest大佬题解E:这题是阅读题。。。首先找到LCA,把a和b每次向上提时,将其父亲的另一个儿子加入到集合中。把a和b都提到LCA后,把LCA往上提,做同样的操作。#include <bits/stdc++.h>using namespace s...原创 2019-07-09 19:31:03 · 1053 阅读 · 0 评论 -
Codeforces Round #569 (Div. 1)
Codeforces Round #569 (Div. 1)A:首先模拟一段,等最大值到第一个的时候会开始循环。#include <bits/stdc++.h>using namespace std;const int N = 3e5+7;int a[N];int ansx[N], ansy[N];using ll = long long;int main() { ...原创 2019-07-14 00:57:22 · 145 阅读 · 0 评论 -
Codeforces Round #572 (Div. 1)
Codeforces Round #572 (Div. 1) A1:观察发现,只要有度为2的点,就会导致这个点关联的两条边的权重相等,此时为NO,否则是YES。#include <bits/stdc++.h>using namespace std;const int N = 1e5+7;vector<int> adj[N];int n;bool ok;vo...原创 2019-07-14 23:27:15 · 201 阅读 · 0 评论 -
The 13th Chinese Northeast Collegiate Programming Contest
The 13th Chinese Northeast Collegiate Programming Contest题解C:算出斜率和截距sort一下就行,每次要减去的贡献是平行的直线数-重叠的直线数。#include <bits/stdc++.h>using namespace std;using ll = long long;using ld = long double...原创 2019-07-19 21:59:42 · 493 阅读 · 0 评论 -
Codeforces Round #576 (Div. 1)
Codeforces Round #576 (Div. 2)E:给 3n3n3n 个点和 mmm 条边,打印出一个 nnn 条边的边独立集或者 nnn 个点的点独立集。可以贪心地枚举每一条边,构成边独立集,如果最后得到的边独立集大于 nnn ,那么打印边独立集。否则不包含在边独立集中的点肯定是点独立集,且至少数量为 nnn ,此时打印点独立集即可。#include <bits/stdc...原创 2019-08-04 00:14:12 · 379 阅读 · 3 评论 -
Codeforces Round #563 (Div. 2)
Codeforces Round #563 (Div. 2)D:题意是给定 nnn 和 xxx ,构建这样最长的数组 aaa 满足:1≤ai≤2n1\leq a_i \leq 2^n1≤ai≤2n 且任意一个连续区间的异或和不等于 000 或 xxx 。一个区间[l, r]的异或和可以由l-1的异或前缀和和r的异或前缀和异或起来表示。连续区间异或和不为0则说明构造出的数组中,没有任何一...原创 2019-06-05 16:50:14 · 174 阅读 · 0 评论 -
Educational Codeforces Round 65
Educational Codeforces Round 65E:f(l,r)f(l,r)f(l,r) 的定义为从 aaa 中删除所有 l≤ai≤rl \leq a_i \leq rl≤ai≤r 得到的数列,题意是要求出有多少对 (l,r)(l,r)(l,r) 满足 f(l,r)f(l,r)f(l,r) 非递减。设 G(p)G(p)G(p) 为删除 ai<pa_i &...原创 2019-05-24 00:40:31 · 177 阅读 · 0 评论 -
Weekly Training Farm 23
比赛链接:Weekly Training Farm 23A:优先队列乱搞:#includeusing namespace std;typedef long long ll;struct cmp{ bool operator () (const ll a,const ll b) { return a>b; }};int main(){ int n; while(c原创 2017-02-04 16:21:50 · 328 阅读 · 0 评论 -
Codeforces Round #396 (Div. 2)
比赛链接:Codeforces Round #396 (Div. 2)A:找最长不公共连续子序列。显然若s!=t,输出s和t最大长度,否则输出-1.#includeusing namespace std;typedef long long ll;int main(){ string s,t; while(cin>>s>>t) { if(s.length()>t.len原创 2017-02-09 20:24:03 · 118 阅读 · 0 评论 -
2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest
比赛链接:2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest第一次打零食赛,被菊苣暴虐。F:模拟一下就行了。#include<bits/stdc++.h>using namespace std;bool lt[107];int o[107];vector<int> ans;void ioinit(){ freopen("原创 2017-05-06 22:55:40 · 461 阅读 · 0 评论 -
2017ICPCECIC
比赛链接:2017ICPCECIC水了两题。。 D 设数组为 aa,长度为 nn 。 答案是找出一个最大的 xx 使得所有 aia_i 都能降成 xx 的倍数。 如果一个数 aia_i 能降成 xx 的倍数,那么 ai%x≤ka_i \% x \leq k 成立。 如果所有 aia_i 都能降成 xx 的倍数,那么数组的最大公约数是 xx 。 这样对于一个 xx,想判断上述条件是否成立,原创 2017-07-22 23:25:29 · 571 阅读 · 0 评论 -
Codeforces Round #425 (Div. 2)
比赛链接:Codeforces Round #425 (Div. 2) A:A/B Problem#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ll n,k; cin >> n >> k; if(n/k%2LL==0) cout << "NO" << endl;原创 2017-07-26 14:41:24 · 190 阅读 · 0 评论 -
2017 Multi-University Training Contest 1
比赛链接:2017 Multi-University Training Contest 1A:水#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int m,T=1; while(~scanf("%d",&m)) { printf("Case #%d:原创 2017-07-26 18:50:25 · 284 阅读 · 0 评论 -
Codeforces Round #433 (Div. 2) 题解
Codeforces Round #433 (Div. 2)手。。。手速场?A: 水#include<bits/stdc++.h>using namespace std;typedef long long ll;int gcd(int a,int b) { return a%b?gcd(b,a%b):b; }int main(){ int n,a; cin >> n;原创 2017-09-08 00:07:20 · 286 阅读 · 0 评论 -
Codeforces Round #430 (Div. 2) 题解
Codeforces Round #430 (Div. 2) A: 水#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int l,r,x,y,k; cin >> l >> r >> x >> y >> k; bool ok=false; for(int原创 2017-08-30 14:26:32 · 611 阅读 · 2 评论 -
Codeforces Round #431 (Div. 2) 题解
Codeforces Round #431 (Div. 2) A: 水#include<bits/stdc++.h>using namespace std;typedef long long ll;int a[107];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%d",&a[i]原创 2017-09-02 22:20:26 · 246 阅读 · 0 评论 -
Nordic Collegiate Programming Contest 2016题解
Nordic Collegiate Programming Contest 2016A: 从前往后记录每次操作后变化的点。 然后从后往前维护并查集。#include<bits/stdc++.h>using namespace std;const int N = 1000 ,Q = 1e4+7;int G[N][N],fa[N*N];int dir[4][2]={ {1,0},{-1,0}原创 2017-10-03 23:23:44 · 319 阅读 · 0 评论 -
Codeforces Round #450 (Div. 2)
Codeforces Round #450 (Div. 2)A:水#include <bits/stdc++.h>using namespace std;int main(){ int a=0,b=0; int n; cin >> n; while(n--) { int x,y; cin >> x >> y;原创 2017-12-14 11:11:45 · 226 阅读 · 0 评论 -
Educational Codeforces Round 70
Educational Codeforces Round 70E:题意是给定 nnn 个字符串 sis_isi ,对于任意组合 si+sjs_i+s_jsi+sj ,求所有组合在 ttt 中的出现次数之和。因为 sis_isi 和 sjs_jsj 是相连的,因此可以在 ttt 上枚举连接点,然后求出以连接点右边第一个点为起始点有多少个 sss,然后求出连接点左边第一个点为结束点有多...原创 2019-08-13 21:44:59 · 253 阅读 · 0 评论