03 2020 档案

摘要:先进行一次绝对值差分,把序列中的数都变成 0,1,2 。如果序列中存在 1,答案只能是 0 或 1;如果不存在 1,答案只能是 0 或 2。对于不存在 1 的情况,我们可以将每个数都 除以2,最后再将答案 乘2,这显然是等价的。于是现在答案只能是 0 或 1 ,发现绝对值差分等价于异或。现在问题转化 阅读全文
posted @ 2020-03-30 21:13 sewage 阅读(195) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 const int mod = 998244353; 5 long long p[200007]; 6 int main(){ 7 io 阅读全文
posted @ 2020-03-29 20:40 sewage 阅读(121) 评论(0) 推荐(0)
摘要:找到所有环,以环长度的因子为步长进行跳跃,如果每次跳跃颜色都相同,说明经过步长次转换后的序列存在颜色相同的无穷路径。 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[200 阅读全文
posted @ 2020-03-24 08:31 sewage 阅读(175) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 long long a[300007],q[300007],b[300007]; 5 long long mx[1200007],mxi 阅读全文
posted @ 2020-03-23 20:43 sewage 阅读(127) 评论(0) 推荐(0)
摘要:题意: 输入一个正整数K(<=200),接着输入K行,第一个数为N(<=1000),后来跟着N个整数(1~N)表示第i列皇后的所在行数,所有的皇后不在一列,输出是否所有的皇后不会相互攻击。 trick: N^2/2不会超时,N^2会在最后一个测试点超时。 AAAAAccepted code: 1 # 阅读全文
posted @ 2020-03-21 19:50 sewage 阅读(253) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int maxi,R,pos,ans_pos,p[2000007]; 5 string str,ans_str,tmp; 6 void 阅读全文
posted @ 2020-03-20 11:41 sewage 阅读(180) 评论(0) 推荐(0)
摘要:题意: 输入一个正整数N(<=30),接着输入两行分别为中序遍历和后序遍历,蛇形输出层次遍历。 AAAAAccepted code: 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 t 阅读全文
posted @ 2020-03-18 11:10 sewage 阅读(149) 评论(0) 推荐(0)
摘要:题意: 输入两个正整数N(<=500)和M,分别表示点和边的数量。接着输入M行每行包括两个点,表示之间有一条无向边。输出每个点的度数以及这张图是欧拉回路还是半欧拉回路(存在欧拉路径)还是非欧拉图。 trick: 不判断这张图是否为一张联通图会在测试点3答案错误。 AAAAAccepted code: 阅读全文
posted @ 2020-03-18 09:11 sewage 阅读(233) 评论(0) 推荐(0)
摘要:题意: 输入一个正整数N(2<=N<=10000)表示绳子的根数,接着输入N个正整数(<=1000)表示每根绳子的长度,每两根绳子可以结成一根新绳子,之后它们的长度变为原来的一半,求将所有绳子结为一根绳子以后的最长长度,结果舍入。 AAAAAccepted code: 1 #define HAVE_ 阅读全文
posted @ 2020-03-12 22:04 sewage 阅读(115) 评论(0) 推荐(0)
摘要:题意: 输入三个正整数M,N,K(M<=1000),接着输入M行每行为一个没有空格的字符串表示转发人的ID。输出从第K条开始每隔N条转发选中一名获奖人ID(一人只能获奖一次,再次获奖向下顺延一位),无人获奖则输出Keep going...。 AAAAAccepted code: 1 #define 阅读全文
posted @ 2020-03-12 08:59 sewage 阅读(139) 评论(0) 推荐(0)
摘要:把连接了相同左侧点的右侧点合并,对剩余右侧点求gcd。 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 long long a[500007]; 5 vector<int>edge[5 阅读全文
posted @ 2020-03-12 08:45 sewage 阅读(202) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[507]; 5 int dp[507]; 6 int main(){ 7 ios::sync_with_stdio(fals 阅读全文
posted @ 2020-03-12 08:11 sewage 阅读(134) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 const long long mod = 998244353; 5 long long jiechen[400007],niyuan[ 阅读全文
posted @ 2020-03-11 08:39 sewage 阅读(154) 评论(0) 推荐(0)
摘要:题意: 输入一个正整数N(<=20),接着输入N个结点,建立一颗AVL树,输出层次遍历,并输出是否为完全二叉树。 trick: 给树创建根节点时用NULL不要用new。。。 AAAAAccepted code: 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bi 阅读全文
posted @ 2020-03-10 09:15 sewage 阅读(206) 评论(0) 推荐(0)
摘要:从低到高枚举当前位i,把所有数字对1<<(i+1)取模,因为比i位高的数字不会影响到低位,在这些数中,两两组成一对,每对的和如果在第i位上为1,++计数,如果计数为奇数,则答案上这一位为1。这个组对的过程通过排序后二分查找完成。 1 #define HAVE_STRUCT_TIMESPEC 2 #i 阅读全文
posted @ 2020-03-08 18:58 sewage 阅读(217) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 typedef struct node{ 5 int val; 6 int w[10]; 7 }srt; 8 srt a[100007] 阅读全文
posted @ 2020-03-06 13:48 sewage 阅读(137) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 #include<tuple> 4 using namespace std; 5 int x[1007][1007],y[1007][1007]; 6 queue<pair<int, 阅读全文
posted @ 2020-03-06 11:08 sewage 阅读(141) 评论(0) 推荐(0)
摘要:从1~n构造显然平衡数最大,先尽可能1~i构造,再补一个数填平或者不补,再用大数把数字补全。 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[5007]; 5 int ma 阅读全文
posted @ 2020-03-04 18:20 sewage 阅读(247) 评论(0) 推荐(0)
摘要:每次查询两个叶子结点并把他们从树上删除,最终返回的答案就是根节点。 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 vector<int>v[1007]; 5 int dep[1007 阅读全文
posted @ 2020-03-04 17:38 sewage 阅读(204) 评论(0) 推荐(0)
摘要:题意: 输入一个正整数N(2<N<=200),表示结点个数,接着输入一个正整数M。输入M条有向边,输入一个正整数K,接着输入K次询问,每次询问包含一个圆环点总数,以及若干点。输出是否这些点构成一个环并且所有点都在环内。 trick: 数组开200或者300都会在最后一个测试点段错误。 AAAAAcc 阅读全文
posted @ 2020-03-03 08:36 sewage 阅读(393) 评论(0) 推荐(0)
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int bit[1<<9]; 5 set<int>s; 6 pair<int,int>a[200007]; 7 int pre[10]; 阅读全文
posted @ 2020-03-02 20:49 sewage 阅读(211) 评论(0) 推荐(0)
摘要:反向建图,边权为1,bfs跑最短路,记录分叉个数。 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[200007]; 5 int dis[200007]; 6 int vi 阅读全文
posted @ 2020-03-02 11:31 sewage 阅读(198) 评论(0) 推荐(0)
摘要:注意到攻击力和防御力上限为1e6,对防御力建一颗线段树,初始存防御力至少为i的盔甲的金额的负数。扫描攻击力,每次把当前攻击力能打动的怪的金钱加到比怪防御力高的结点上,更新答案。 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 us 阅读全文
posted @ 2020-03-02 11:28 sewage 阅读(148) 评论(0) 推荐(0)