02 2020 档案
摘要:题意: 输入一个正整数N(<=50000),接着输入N对整数,表示这一对为一对。输入一个正整数Q(<=10000),接着输入Q个整数,输出其中不成对或者另一半未出现在Q个数中的数的个数,并从小到大输出。 AAAAAccepted code: 1 #define HAVE_STRUCT_TIMESPE
阅读全文
摘要:题意: 输入一个正整数N(<=10000),接着输入N个正整数,输出它们十进制上每一位的和的个数(不计相同的数),并从小到大输出。 AAAAAccepted code: 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using
阅读全文
摘要:题意: 输入一个正整数N(<=30),接着输入两行N个正整数第一行为先序遍历,第二行为后续遍历。输出是否可以构造一棵唯一的二叉树并输出其中一颗二叉树的中序遍历。 trick: 输出完毕中序遍历后须换行,否则所有测试点格式错误。 1 #define HAVE_STRUCT_TIMESPEC 2 #in
阅读全文
摘要:题意: 输入一个正整数N(<=10000),接着输入N行数字每行包括一个正整数K和K个正整数,表示这K只鸟是同一棵树上的。输出最多可能有几棵树以及一共有多少只鸟。接着输入一个正整数Q,接着输入Q行每行包括两个正整数,输出它们是否在同一棵树上。 AAAAAccepted code: 1 #define
阅读全文
摘要:构造出的结果一定是一个单峰/\这种样子的 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 long long a[500007]; 5 pair<long long,long long
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 pair<int,int>a[200007]; 5 bool cmp(pair<int,int>a,pair<int,int>b){ 6
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 const int N = 5e5 + 7; 5 const long long mod=1e9+7; 6 long long fac[
阅读全文
摘要:题意: 输入一个正整数N(<=100000),接着输入N个非负整数。输出最大的整数E使得有至少E个整数大于E。 AAAAAccepted code: 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace
阅读全文
摘要:题意: 输入一个正整数N(<=10000),接着依次输入N个学生的ID。输入一个正整数Q,接着询问Q次,每次输入一个学生的ID,如果这个学生的ID不出现在之前的排行榜上输出Are you kidding,否则如果已经询问过输出Checked,否则如果这位学生排名第一输出Mystery Award,否
阅读全文
摘要:题意: 输入一个正整数N(<=1000),接着输入N个整数([-1000,1000]),依次插入一棵初始为空的二叉排序树。输出最底层和最底层上一层的结点个数之和,例如x+y=x+y。 AAAAAccepted code: 1 #define HAVE_STRUCT_TIMESPEC 2 #inclu
阅读全文
摘要:可以把每头牛看作一个位置,有几对牛可以放置相当于有几对位置可以给它睡觉,没有牛可以在其他牛的位置睡觉,所以有几对牛放置的可能答案就乘多少(相当于在原本的两个集合里分别插入一个元素,元素代表它睡觉的位置) 容斥的时候,第二遍会把当前位置i+1这个点没有牛在睡觉的情况全部去掉,尝试写了不容斥,直接计算当
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[200007]; 5 vector<int>v[200007]; 6 int vis[200007]; 7 int dis[
阅读全文
摘要:1 #definde HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 char s[1000007]; 5 int main(){ 6 ios::sync_with_stdio(false); 7 cin
阅读全文
摘要:二分,尺取法,细节模拟,尤其是要注意a[i]被计算到和a[i]成对的a[j]里时 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 long long a[200007]; 5 int
阅读全文
摘要:LCA求树上两点最短距离,如果a,b之间距离小于等于k并且奇偶性与k相同显然YES;或者可以从a先走到x再走到y再走到b,并且a,x之间距离加b,y之间距离+1小于等于k并且奇偶性与k相同也输出YES;或者从a走到y再走到x再走到b,并且总距离+1小于等于k并且奇偶性与k相同同样输出YES;否则输出
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int ans[200007]; 5 int ans2[200007]; 6 int main(){ 7 ios::sync_with_
阅读全文
摘要:先把一种最长路线记录下来,根据k的大小存到ans中相应的答案再输出 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 vector<char>vv; 5 vector<pair<int,
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int main(){ 5 ios::sync_with_stdio(false); 6 cin.tie(NULL); 7 cout.t
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 char s[407],t[407]; 5 int n,m; 6 int nex[407][37];//nex[i][j]表示i位置以字
阅读全文
摘要:从低位到高位枚举,当前位没有就去高位找到有的将其一步步拆分,当前位多余的合并到更高一位 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[100007]; 5 int sum
阅读全文
摘要:题意: 输入一个正整数N(<=10000),接着输入N行每行包括一个人的ID和他双亲的ID以及他的孩子数量和孩子们的ID(四位整数包含前导零),还有他所拥有的房产数量和房产面积。输出一共有多少个块(所有有父子关系的点都视为处于同一块),以及每块的元素个数以及平均每人分得的房产数量和房产面积(保留三位
阅读全文
摘要:题意: 输入一个正整数N(2<=N<=1e5),接着输入N个正整数,将这些数字划分为两个不相交的集合,使得他们的元素个数差绝对值最小且元素和差绝对值最大。 AAAAAccepted code: 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++
阅读全文
摘要:题意: 输入一个正整数K(1<K<=100),接着输入一行字符串由小写字母,数字和下划线组成。如果一个字符它每次出现必定连续出现K个,它可能是坏键,找到坏键按照它们出现的顺序输出(相同坏键仅输出一次,数据保证必定存在坏键),接着输出将坏键修好后原本的字符串(K个连续坏键只输出一次)。 trick:
阅读全文
摘要:把所有数看作N块,后面的块比前面的块小的话就合并,这个过程可能会有很多次,因为后面合并后会把前面的块均摊地更小,可能会影响更前面地块,像是多米诺骨牌效应,从后向前推 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using na
阅读全文
摘要:观察猜测这个图形是中心对称图形是则YES,否则NO 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 pair<long long,long long>pr[100007]; 5 int
阅读全文
摘要:实际上函数值为x&(-y) 答案仅和第一个数字放谁有关 1 #define HAVE_STRUCT_TIMESPEC 2 #include <bits/stdc++.h> 3 using namespace std; 4 int a[200007]; 5 int b[200007][37]; 6 i
阅读全文
摘要:题意: 输入两个正整数N和M(N<=500,M<=N^2),分别代表点数和边数。接着输入M行每行包括一条边的两个结点(0~N-1),这条路的长度和通过这条路所需要的时间。接着输入两个整数表示起点和终点,输出路径最短的路,如果多条路路径最短输出其中通过时间最短的路,以及通过时间最短的路,如果通过时间最
阅读全文
摘要:题意: 输入一个正整数N(<=20),代表结点个数(0~N-1),接着输入N行每行包括每个结点的左右子结点,'-'表示无该子结点,输出是否是一颗完全二叉树,是的话输出最后一个子结点否则输出根节点。 trick: 用char输入子结点没有考虑两位数的结点😓。。。 stoi(x)可以将x转化为十进制整
阅读全文
摘要:题意: 输入两个整数N和K(N<=1e4,K<=10),分别表示人数和行数,接着输入N行每行包括学生的姓名(八位无空格字母且唯一)和身高(【30,300】的整数)。按照身高逆序,姓名字典序升序将学生从高到矮排列,将学生均分为N行输出,最先输出的一行人数包括除不尽的余数学生,每行中间(如果这一行学生人
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 typedef struct node{ 5 int data; 6 node *lchild,*rchild; 7 }tree; 8
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 set<int>v[207]; 5 int a[207]; 6 int vis[207]; 7 int main(){ 8 ios::s
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 typedef struct{ 5 int add,data,nex; 6 }Node; 7 Node node[100007],ans
阅读全文
摘要:1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 string s[30][10]; 5 int ans[1007][1007]; 6 int num[1007]; 7 string t
阅读全文

浙公网安备 33010602011771号