清北刷题冲刺 10-31 a.m】的更多相关文章

最大值 (max) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n的正整数数列ai(下标为1~n).并且有一个参数k. 你需要找两个正整数x,y,使得x+k<=y,并且y+k-1<=n.并且要求a[x]+a[x+1]+…+a[x+k-1]+a[y]+a[y+1]+…+a[y+k-1]最大. LYK并不会做,于是它把题扔给了你. 输入格式(max.in) 第一行两…
星空 #include<iostream> #include<cstdio> using namespace std; int n,m; int main(){ freopen("star.in","r",stdin);freopen("star.out","w",stdout); ){ scanf("%d%d",&n,&m); &&m==); ==)…
水题(贪心) (water) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每张牌长和宽分别是xi和yi.对于第二副牌的每张牌长和宽分别是aj和bj.第一副牌的第i张牌能覆盖第二副牌的第j张牌当且仅当xi>=aj并且yi>=bj.(注意牌不能翻转)当然一张牌只能去覆盖最多一张牌,而不能覆盖好多张. LYK想让两副牌的各n张一一对应叠起来.它想知道第二副牌最多有几张能被第一副…
P102zhx a [问题描述]你是能看到第一题的 friends 呢.——hja两种操作:1.加入一个数.2.询问有多少个数是?的倍数.[输入格式]第一行一个整数?,代表操作数量.接下来?行,每行两个数???,?.其中???表示是哪种操作,第二个?是操作的参数.[输出格式]一行一个整数,代表所有询问答案的异或值.[样例输入]51 21 32 21 62 3[样例输出]3[数据范围与规定]对于第?组数据,? ≤ ? = 1000?. #include<iostream> #include<…
P101zhx a [问题描述]你是能看到第一题的 friends 呢.——hjaHja 拥有一套时光穿梭技术,能把字符串以超越光速的速度传播,但是唯一的问题是可能会 GG.在传输的过程中,可能有四种情况:1.字符串没有发生改变.2.字符串的某一位由 0 变 1 或者由 1 变 0.3.某一位消失了.4.多了一位.为了防止字符串 GG,Hja 保证发送的字符串只由 01 组成,并且所有字符串开始的长度均为?,并且所有为 1 的位置的下标之和一定是? + 1的倍数.在给定了你这些条件之后,Hja…
a [问题描述]你是能看到第一题的 friends 呢.——hja给你一个只有小括号和中括号和大括号的括号序列,问该序列是否合法.[输入格式]一行一个括号序列.[输出格式]如果合法,输出 OK,否则输出 Wrong.[样例输入][(])[样例输出]Wrong[数据范围与规定]70%的数据,1 ≤ ? ≤ 100.对于100%的数据,1 ≤ ? ≤ 10000,所有单词由大写字母组成. #include<iostream> #include<cstring> #include<…
P99zhx a [问题描述]你是能看到第一题的 friends 呢.——hja怎么快速记单词呢?也许把单词分类再记单词是个不错的选择.何大爷给出了一种分单词的方法,何大爷认为两个单词是同一类的当这两个单词的各个字母的个数是一样的,如 dog 和 god.现在何大爷给了你?个单词,问这里总共有多少类单词.[输入格式]第一行一个整数?代表单词的个数.接下来?行每行一个单词.[输出格式]一行一个整数代表答案.[样例输入]3AABACCBAAAAAABB[样例输出]2[数据范围与规定]70%的数据,1…
一道图论神题 (god) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只有点权. LYK想把这个图删干净,它的方法是这样的.每次选择一个点,将它删掉,但删这个点是需要代价的.假设与这个点相连的还没被删掉的点是u1,u2,…,uk.LYK将会增加a[u1],a[u2],…,a[uk]的疲劳值. 它想将所有点都删掉,并且删完后自己的疲劳值之和最小.你能帮帮它吗? 输入格式(…
一道图论好题 (graph) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,不仅有边权还有点权. LYK给出了一个子图的定义,一张图G’={V’,E’}被称作G的子图,当且仅当 ·G’的点集V’包含于G的点集V. ·对于E中的任意两个点a,b∈V’,当(a,b)∈E时,(a,b)一定也属于E’,并且连接这两个点的边的边权是一样的. LYK给一个子图定义了它的价值,它的价值…
纸牌 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define maxn 300010 int n,a[maxn],b[maxn],w[maxn],num,h[maxn],cnt; int qread(){ ; char ch=getchar(); ')ch=getchar(); +ch-',ch=getchar…
卖书 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 1000010 using namespace std; int n,a[maxn],cnt1,cnt2; int qread(){ ; char ch=getchar(); ')ch=getchar(); +ch-';ch=getchar();} return i; } int…
轮换 #include<iostream> #include<cstdio> #include<cstring> #define maxn 1010 using namespace std; int n,p,k,a[maxn],b[maxn],op[maxn][maxn],pos[maxn]; int main(){ freopen("rotate.in","r",stdin);freopen("rotate.out&q…
集合 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; ],cnt; int main(){ freopen("multiset.in","r",stdin);freopen("multiset.out","w",stdout); // freopen("Cola.txt&quo…
洗澡 /* 这个题不能单纯判断左括号和右括号的多少,而应该从左到右扫一遍,看应该如何配对 */ #include<iostream> #include<cstdio> #include<cstring> using namespace std; ]; int cnt,ans; int main(){ freopen("bracket.in","r",stdin);freopen("bracket.out",&q…
遭遇 /* 因为选的楼是个集合,与顺序无关 而且总花费=c[1]+c[2]+c[3]+|h[1]-h[2]|+|h[2]-h[3]| 我们规定走的顺序从高到低,那么绝对值就可以去掉 所以就可以约掉中间的 枚举起点终点就行了 */ #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib> #define maxn 51 usin…
立方数 (cubic) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数. 现在给定一个数P,LYK想要知道这个数是不是立方数. 当然你有可能随机输出一些莫名其妙的东西来骗分,因此LYK有T次询问~ 输入格式(cubic.in) 第一行一个数T,表示有T组数据. 接下来T行,每行一个数P. 输出格式(cubic.out) 输出T行…
测试 A 同花顺 文件名 输入文件 输出文件 时间限制 空间限制card.cpp/c/pas card.in card.out 1s 512MB题目描述所谓同花顺,就是指一些扑克牌,它们花色相同,并且数字连续.现在我手里有 n 张扑克牌,但它们可能并不能凑成同花顺.我现在想知道,最少更换其中的多少张牌,我能让这 n 张牌凑成一个同花顺?输入格式第一行一个整数 n,表示扑克牌的张数.接下来 n 行,每行两个整数 a i 和 b i .其中 a i 表示第 i 张牌的花色,b i 表示第i 张牌的数…
测试 A 消失的数字 文件名 输入文件 输出文件 时间限制 空间限制del.cpp/c/pas del.in del.out 1s 512MB题目描述现在,我的手上有 n 个数字,分别是 a 1 ,a 2 ,a 3 ,...,a n .我现在需要删除其中的 k 个数字.当然我不希望随随便便删除,我希望删除 k个数字之后,剩下的 n − k 个数中有最多的不同的数.输入格式第一行两个正整数 n 和 k,含义如题目描述.接下来一行,有 n 个非负整数,分别是 a 1 到 a n .输出格式一共一行,…
位运算1 (bit) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK拥有一个十进制的数N.它赋予了N一个新的意义:将N每一位都拆开来后再加起来就是N所拥有的价值.例如数字123拥有6的价值,数字999拥有27的价值. 假设数字N的价值是K,LYK想找到一个价值是K-1的数字,当然这个答案实在太多了,LYK想使得这个价值为K-1的数字尽可能大. 输入格式(bit.in) 一个数N. 输出格式(bit.out) 一个数表示答案.你需要输出一个非负整数,…
三向城 #include<iostream> #include<cstdio> using namespace std; int n,x,y; int main(){ freopen("city.in","r",stdin);freopen("city.out","w",stdout); // freopen("Cola.txt","r",stdin); scan…
函数最值 #include<iostream> #include<cstdio> #include<cstring> #define maxn 100010 using namespace std; int n; long long a[maxn],ans,sum[maxn]; char s[maxn]; long long qread(){ ,j=; char ch=getchar(); ;ch=getchar();} +ch-',ch=getchar(); retu…
立方体 /* 输入数据中的p的位置是没有用的,而题目本质上是求C(n,k) */ #include<iostream> #include<cstdio> #define mod 1000000007 #define maxn 1000001 using namespace std; int n,k,x; ,},inv[maxn]={,},f[maxn]={,}; long long C(long long a,long long b){ return fac[a]*inv[b]%m…
数列 #include<iostream> #include<cstdio> using namespace std; long long a,b,ans; void f(long long x,long long y){ )return; ans+=x/y; f(y,x%y); } int main(){ freopen("seq.in","r",stdin);freopen("seq.out","w"…
少女 #include<iostream> #include<cstdio> #include<queue> #include<cstdlib> #define maxn 200010 #define mod 1000000007 using namespace std; int n,m,head[maxn],num,c[maxn],du[maxn]; ; bool vis[maxn]; struct node{ int to,pre,v; }e[maxn*…
1.数组异或 #include<iostream> #include<cstdio> #define maxn 100010 #define mod 1000000007 using namespace std; int n,a[maxn],b[maxn],c[maxn]; int main(){ freopen("xorarray.in","r",stdin);freopen("xorarray.out","w…
套路(拓扑排序) /* 对每个联通块单独考虑. 每个联通块是一个环套树,树边拎出来可以随意定向,记树边为 m,所以树的方案数为2^m . 对于环来说只有两种方向,顺时针和逆时针,记环边为 n,所以环的方案就是 2^n - 2. 最后把每个联通块的方案乘起来即可. 注意,自环无论如何定向都是环,但这并不违反环的公式,故可以不特判. */ #include<iostream> #include<cstdio> #include<cstring> using namespac…
1.角谷猜想 #include<iostream> #include<cstdio> #include<cstring> #define maxn 10010 using namespace std; char ch[maxn],st[maxn]; int t,top; int main(){ //freopen("Cola.txt","r",stdin); freopen("kakutani.in",&quo…
行列式 序列 #include<iostream> #include<cstdio> #define maxn 500010 using namespace std; int n,m,mod,l,r,x,y,b[maxn],a[maxn],cnt; void dfs(int now[],int sz){ ){ ;i<=sz;i++)b[++cnt]=now[i]; return; } ,sz2=; int d[sz],c[sz]; ;i<=sz;i++){ !=){//…
/* 枚举每个部分的总和,利用前缀和进行检验. 如果能分成4部分就一定能分成2部分,就筛了一边素数优化.清空数组!!! */ #include<bits/stdc++.h> #define N 1000001 using namespace std; ,},num[N],sum[N]; int n,m,tot,cur,tmp,flag; char s[N]; bool vis[N]; void pri() { ;i<=N;i++) { if(!no[i]) prime[++tot]=i;…
NOIP 模拟赛 张若天 年 ⽉ ⽇ 题⽬名称 监听 实验室 ⽂明 可执⾏⽂件名 monitor lab civilization 输⼊⽂件名 monitor.in lab.in civilization.in 输出⽂件名 monitor.out lab.out civilization.out 每个测试点时限 秒 秒 秒 内存限制 256MB 256MB 256MB 测试点数⽬ 每个测试点分值 是否有 Special Judge ⽆ ⽆ ⽆ 题⽬类型 传统型 传统型 传统型 是否有附加⽂件 否…