01 2021 档案

摘要:有一个划分为N列的星际战场,各列依次编号为1,2,…,N。 有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列。 有T条指令,每条指令格式为以下两种之一: 1、M i j,表示让第i号战舰所在列的全部战舰保持原有顺序,接在第j号战舰所在列的尾部。 2、C i j,表示询问第i号战舰与第 阅读全文
posted @ 2021-01-31 16:35 君与 阅读(78) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; const int N=1e6+5; int f[N*2],a[N],b[N],c[N],n,t,p[N*2],cnt; int find(int x) { if(x!=f[x])f[x]=find(f[x]) 阅读全文
posted @ 2021-01-31 16:32 君与 阅读(64) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> #define N 10010 using namespace std; int fa[N],v[N],pr[N]; int vv[N],pp[N],f[N]; int n,m,w,cut; int found(int x) { if(fa[x]!=x 阅读全文
posted @ 2021-01-31 15:45 君与 阅读(65) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; int n,m; int fa[1000000]; int found(int x) { if(fa[x]!=x)fa[x]=found(fa[x]); return fa[x]; } int main() { 阅读全文
posted @ 2021-01-31 15:16 君与 阅读(63) 评论(0) 推荐(0)
摘要:输出斐波那契数列前 n 项和 对m取摸的结果 #include<bits/stdc++.h> #define LL long long #define N 3 using namespace std; int n,m; void cal(int c[],int a[],int b[][N]) { i 阅读全文
posted @ 2021-01-31 14:04 君与 阅读(78) 评论(0) 推荐(0)
摘要:给定整数N,求1<=x,y<=N且GCD(x,y)为素数的数对(x,y)有多少对。 GCD(x,y)即求x,y的最大公约数。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e7 阅读全文
posted @ 2021-01-31 10:17 君与 阅读(59) 评论(0) 推荐(0)
摘要:在一个平面直角坐标系的第一象限内,如果一个点(x,y)与原点(0,0)的连线中没有通过其他任何点,则称该点在原点处是可见的。 编写一个程序,计算给0<x,y<=n定整数N的情况下,满足的可见点(x,y)的数量(可见点不包括原点)。 #include<bits/stdc++.h> #define N 阅读全文
posted @ 2021-01-31 09:02 君与 阅读(93) 评论(0) 推荐(0)
摘要:监狱有连续编号为1~n的n个房间,每个房间关押一个犯人。有 M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人信仰的宗教相同,就可能发生越狱。求有多少种状态可能发生越狱。 #include<bits/stdc++.h> #define MOD 100003 #define ll long lon 阅读全文
posted @ 2021-01-31 08:26 君与 阅读(64) 评论(0) 推荐(0)
摘要:BSNY 在学等差数列和等比数列,当已知前三项时,就可以知道是等差数列还是等比数列。 现在给你 整数 序列的前三项,这个序列要么是等差序列,要么是等比序列,你能求出第k项的值吗。 如果第k项的值太大,对其取模200709。 #include<bits/stdc++.h> #define MOD 20 阅读全文
posted @ 2021-01-29 16:50 君与 阅读(70) 评论(0) 推荐(0)
摘要:给定整数 N ,试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果 #include<bits/stdc++.h> #define N 1000000 using namespace std; int p[N],c[N]; int n,cut; int k[N],v[N]; void p 阅读全文
posted @ 2021-01-29 16:19 君与 阅读(81) 评论(0) 推荐(0)
摘要:给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。 同时,你还需要找到距离最远的两个相邻质数D1和D2(即D1-D2是最大的),如果存在相同距离的其他相邻质数对,则输出第一对。 #includ 阅读全文
posted @ 2021-01-29 15:56 君与 阅读(64) 评论(0) 推荐(0)
摘要:从前有个人名叫 WNB,他有着天才般的记忆力,他珍藏了许多许多的宝藏。 在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松回答出这个问题,便可以继承他的宝藏。 题目是这样的:给你一大串数字在你看过一遍之后,它便消失在你面前,随后问题就出现了,给你m 个询问,每次询问就给你两个数字,要 阅读全文
posted @ 2021-01-29 11:35 君与 阅读(83) 评论(0) 推荐(0)
摘要:依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。 #include<bits/stdc++.h> using namespace std; priority_queue<int> down; priority_queue<int,vector<int>,gr 阅读全文
posted @ 2021-01-29 11:08 君与 阅读(63) 评论(0) 推荐(0)
摘要:七夕节因牛郎织女的传说而被扣上了「情人节」的帽子。 于是TYVJ今年举办了一次线下七夕祭。 Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩。 TYVJ七夕祭和11区的夏祭的形式很像。 矩形的祭典会场由N排M列共计N×M个摊点组成。 虽然摊点种类繁多,不过cl只对 阅读全文
posted @ 2021-01-29 11:06 君与 阅读(72) 评论(0) 推荐(0)
摘要:农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于1头,也不会超过2000头。 约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。 围起区域内至少需要包含f块地,其中 f会在输入中给出。 在给定条件下,计算围起区域内每块地包含的 阅读全文
posted @ 2021-01-29 10:02 君与 阅读(73) 评论(0) 推荐(0)
摘要:给定一个长度为n的数列每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。 求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。 #include<bits/stdc++.h> #define ll long long us 阅读全文
posted @ 2021-01-22 17:17 君与 阅读(76) 评论(0) 推荐(0)
摘要:地图上有n个目标,用整数x,y表示目标在地图上的位置,每个目标都有一个价值Wi. 注意:不同目标可能在同一位置。 现在有一种新型的激光炸弹,可以摧毁一个包含r个位置的正方形内的所有目标。 激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和坐标轴平行。 求一颗炸弹最 阅读全文
posted @ 2021-01-22 17:11 君与 阅读(132) 评论(0) 推荐(0)
摘要:#include <bits/stdc++.h> #define ll long long #define PII pair<int,int> #define PLL pair<ll,ll> using namespace std; PLL calc(int n,ll m) { if (n==0)r 阅读全文
posted @ 2021-01-22 16:44 君与 阅读(66) 评论(0) 推荐(0)
摘要:你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态 10 阅读全文
posted @ 2021-01-19 17:06 君与 阅读(81) 评论(0) 推荐(0)
摘要:求a*b%p的值。 0<a,b,p<1e18; 原题链接 #include<bits/stdc++.h> #define ull unsigned long long using namespace std; int main() { ull a,b,c,ans=0; cin>>a>>b>>c; a 阅读全文
posted @ 2021-01-19 15:12 君与 阅读(53) 评论(0) 推荐(0)
摘要:夏洛克有了一个新女友(这太不像他了!)。 情人节到了,他想送给女友一些珠宝当做礼物。 他买了n件珠宝,第i件的价值是i+1。 华生挑战夏洛克,让他给这些珠宝染色,使得一件珠宝的价格是另一件珠宝的价格的质因子时,两件珠宝的颜色不同。 并且,华生要求他使用的颜色数尽可能少。 请帮助夏洛克完成这个简单的任 阅读全文
posted @ 2021-01-17 16:59 君与 阅读(166) 评论(0) 推荐(0)
摘要:共有n个数,编号是1~n,最开始每个数各自在一个集合中。 现在要进行m个操作,操作共有两种: “M a b”,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; “Q a b”,询问编号为a和b的两个数是否在同一个集合中 #include<bits/stdc++.h 阅读全文
posted @ 2021-01-08 17:04 君与 阅读(62) 评论(0) 推荐(0)
摘要:在给定的N个整数选出两个进行xor(异或)运算,得到的结果最大是多少? #include<bits/stdc++.h> using namespace std; const int N=4e6+10; int ch[N][2],n,a,ans,tot=1; void insert() { int u 阅读全文
posted @ 2021-01-08 17:00 君与 阅读(61) 评论(0) 推荐(0)
摘要:维护一个字符串集合,支持两种操作: “I x”向集合中插入一个字符串x; “Q x”询问一个字符串在集合中出现了多少次。 共有N个操作,输入的字符串总长度不超过1e5,字符串仅包含小写英文字母。 #include <bits/stdc++.h> using namespace std; const 阅读全文
posted @ 2021-01-08 16:57 君与 阅读(81) 评论(0) 推荐(0)
摘要:给定一个模式串S,以及一个模板串P,所有字符串中只包含大小写英文字母以及阿拉伯数字。 模板串P在模式串S中多次作为子串出现。 求出模板串P在模式串S中所有出现的位置的起始下标。 #include<bits/stdc++.h> #define N 1000010 using namespace std 阅读全文
posted @ 2021-01-08 16:37 君与 阅读(69) 评论(0) 推荐(0)
摘要:给定一个大小为n≤106 的数组。 有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。 您只能在窗口中看到k个数字。 每次滑动窗口向右移动一个位置。 您的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2021-01-08 15:32 君与 阅读(52) 评论(0) 推荐(0)
摘要:给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。 #include<bits/stdc++.h> #define N 100010 using namespace std; int n,t,w,a[N],b[N]; int main() { scanf("%d",& 阅读全文
posted @ 2021-01-08 15:27 君与 阅读(62) 评论(0) 推荐(0)
摘要:实现一个队列,队列初始为空,支持四种操作: (1) “push x” – 向队尾插入一个数x; (2) “pop” – 从队头弹出一个数; (3) “empty” – 判断队列是否为空; (4) “query” – 查询队头元素。 现在要对队列进行M个操作,其中的每个操作3和操作4都要输出相应的结果 阅读全文
posted @ 2021-01-08 15:15 君与 阅读(96) 评论(0) 推荐(0)
摘要:实现一个栈,栈初始为空,支持四种操作: (1) “push x” – 向栈顶插入一个数x; (2) “pop” – 从栈顶弹出一个数; (3) “empty” – 判断栈是否为空; (4) “query” – 查询栈顶元素。 现在要对栈进行M个操作,其中的每个操作3和操作4都要 #include<b 阅读全文
posted @ 2021-01-08 15:09 君与 阅读(100) 评论(0) 推荐(0)
摘要:图论基础模板 Dijkstra 算法分析: 按路径长度递增次序产生算法: 把顶点集合V分成两组: (1)S:已求出的顶点的集合(初始时只含有源点V0) (2)V-S=T:尚未确定的顶点集合 将T中顶点按递增的次序加入到S中,保证: (1)从源点V0到S中其他各顶点的长度都不大于从V0到T中任何顶点的 阅读全文
posted @ 2021-01-05 13:21 君与 阅读(78) 评论(0) 推荐(0)
摘要:给定一个n个点m条边的有向图,点的编号是1到n,图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。 若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。 #include<bits/stdc+ 阅读全文
posted @ 2021-01-05 13:16 君与 阅读(79) 评论(0) 推荐(0)
摘要:给定一个n个点m条边的有向图,图中可能存在重边和自环。 所有边的长度都是1,点的编号为1~n。 请你求出1号点到n号点的最短距离,如果从1号点无法走到n号点,输出-1。 #include<bits/stdc++.h> using namespace std; const int N = 2e5+5; 阅读全文
posted @ 2021-01-05 13:01 君与 阅读(82) 评论(0) 推荐(0)
摘要:给定一颗树,树中包含n个结点(编号1~n)和n-1条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 #include<bits/stdc++.h> # 阅读全文
posted @ 2021-01-05 12:28 君与 阅读(120) 评论(0) 推荐(0)