2300.模板题
input:template.in output:template.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
输入
输出
样例输入1
1241 2 3 4
样例输入2
1256 6 8 9 2
样例输出1
12344211
样例输出2
1234596321
数据范围限制
代码
12345678910111213141516171819202122232425262728293031323334353637383940#include<bits/stdc++.h>using namespace std;int n,v,k=1,maxx=-0x3f3f3f,a[100001],t[100001],b[100001];void g(int x){ for(int i=1;i*i<=x;i++) { if(x%i==0) { t[i]++; t[x/i]++; if(i*i==x) ...
2298.异或
input:gcdxor.in output:gcdxor.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
SarvaTathagata是个神仙,一天他在研究数论时,书上有这么一个问题:求不超过n两两的数的gcd。
SarvaTathagata这么神仙的人当然觉得这个是sb题啦。学习之余,他还发现gcd的某一个特别好的性质:如果有两个数i,j满足gcd(i,j)=i^j(这里的^为c++中的异或)的话,那么这两个数组成的数对(i,j)就是一个nb的数对(这里认为(i,j)和(j,i)为相同的,并不需要计算2次)。
当然,SarvaTathagata并不会只满足于判断一个数对是否nb,他还想知道满足两个数都是不超过n并且nb的数对有多少个。
由于SarvaTathagata实在是太神仙了,他认为这种题实在是太简单了。于是他找到了你,看看你是否能解决这个问题。
输入
共一行一个整数n,含义如题所述。
输出
一行一个整数,表示nb的数对的个数。
样例输入
1234样例输入112样例输入2123456
样例输出
1234样例输出18样例输出2214394
数 ...
2297.棋盘
input:chess.in output:chess.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
众所周知,国际象棋的棋盘是一个网格。国际象棋中有一种旗子叫象。象每次移动可以斜着走任意格。即假设一只象在网格(x,y),每次移动可以选择一个正整数k,使象移到(x-k,y-k),(x-k,y+k),(x+k,y-k),(x+k,y+k)中的一个格子。
现有若干组询问,每组询问给出两个格子(x,y),(u,v),你需要回答一只象如果初始时在(x,y),能否通过若干步(可以不走)到达(u,v)。
输入
第一行一个正整数T,表示询问数量。
接下来T行,每行四个正整数x,y,u,v,表示一组询问。
输出
T行,每行一个”Yes”或”No”(不含引号),表示你的回答。
样例输入
12345651 1 2 22 3 2 21 2 4 33 4 2 21 1 1 1
样例输出
12345YesNoYesNoYes
数据范围限制
对于30%的数据,0<T<=5,0<x,y,u,v<=4
对于50%的数据,0<T<=10,0< ...
2296.神殿
input:temple.in output:temple.out
时间限制: 1500 ms 空间限制: 524288 KB
题目描述
输入
输出
样例输入
12345678910样例输入12 2+**U1 1 2 2样例输入22 3<><><>1 1 2 1
样例输出
1234样例输出1-1样例输出24
数据范围限制
提示
题目标中的特殊符号:<>^v+*|-
代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 ...
2295.栈
input:stack.in output:stack.out
时间限制: 1000 ms 空间限制: 524288 KB
题目描述
输入
输出
样例输入
1251 4 3 5 2
样例输出
11 2 4 3 5
数据范围限制
提示
依次使用操作 1、2、1、1、1、1、2、3、3、2 可以得到样例输出 1 2 4 3 5 。
代码
12345678910111213141516171819202122232425262728293031323334#include<bits/stdc++.h>using namespace std;int main(){ freopen("stack.in","r",stdin); freopen("stack.out","w",stdout); int n,a[110000],rm[110000],q[110000],l=1,r=0; scanf("%d",&n); rm[n+ ...
2293.深水旅店
input:hotel.in output:hotel.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
一共有N个人在排队,他们都有自己的编号,保证编号大于0且小于2000001,
每个人都有自己前面和后面人的编号,如果他前面或后面没人,则会用 0 代替,
一共只有一条拿酒的队伍。
输入
第一行一个整数 N 表示人的个数
接下来 N 行表示每个人记下的编号
保证每个人的标号不同
输出
一行 N 个数,中间用空格隔开,表示这个编号。
样例输入
12345678910111213【样例输入 1】492 310 731 07 141【样例输入 2】50 11 44 03 25 3
样例输出
1234【样例输出 1】92 7 31 141【样例输出 2】5 1 3 4 2
数据范围限制
代码
123456789101112131415161718192021222324252627282930313233343536373839404142#include<bits/stdc++.h>using namespace std;const int ...
2292.区间
input:interval.in output:interval.out
时间限制: 2000 ms 空间限制: 524288 KB
题目描述
有一个长度为N的序列a[1],a[2]…a[N]。对于一个包含a[L],a[L+1]…a[R]的区间[L,R],小W认为如果存在一个位置a[K]满足区间内所有的数都是a[K]的倍数,那么这个区间是合法的,并且这个区间的价值为R-L,否则这个区间是不合法的。现在小W想知道所有合法的区间中价值最大的区间价值是多少,并且你要告诉他这些区间的左端点(如果有多个区间的价值等于最大值,那么你需要告诉他所有的左端点)。
输入
第一行一个数N,表示数的个数。
第二行N个空格隔开的正整数,表示a[1],a[2]…a[N]。
输出
第一行两个数x,y,分别表示价值最大的区间的个数以及最大价值。
第二行若干个由空格隔开的整数,从小到大输出价值最大的区间的左端点。
样例输入
123456789【样例输入1】54 6 9 3 6 【样例输入2】3015 15 3 30 9 30 27 11 5 15 20 10 25 20 30 15 30 15 25 5 10 ...
2291.序列
input:seq.in output:seq.out
时间限制: 1000 ms 空间限制: 524288 KB
题目描述
有一个长度为n的序列A,其中有m个位置是1,其余位置全是0。你可以选择不超过k个区间,满足所有是1的位置都被至少一个区间覆盖。对于一个区间[l,r],我们定义它的长度为r-l+1,求满足条件的最小区间长度之和。
输入
第一行三个整数m,n,k,意义如上。
接下来m行,每行一个整数x,表示Ax是1。保证输入的x递增。
输出
输出一行一个整数,表示满足条件的最小区间长度之和。
样例输入
124 100 220 30 75 80
样例输出
117
数据范围限制
对于20%的数据,m,k≤10,n≤100;
对于50%的数据,m,k≤2000,n≤109;
对于100%的数据,m,k≤200000,n≤109。
代码
1234567891011121314151617181920212223242526272829303132333435#include<bits/stdc++.h>using namespace std;int m,n,k,p,u=1 ...
2267.宝物筛选
input:treasure.in output:treasure.out
时间限制: 1000 ms 空间限制: 60000 KB
题目描述
终于,破解了千年的难题。小 FF 找到了王室的宝物室,里面堆满了无数价值连城的宝物……这下小 FF 可发财了,嘎嘎。但是这里的宝物实在是太多了,小FF 的采集车似乎装不下那么多宝物。 看来小 FF 只能含泪舍弃其中的一部分宝物了……小FF 对洞穴里的宝物进行了整理,他发现每样宝物都有一件或者多件。他粗略估算了下每样宝物的价值,之后开始 了宝物筛选工作:
小 FF 有一个最大载重为 W 的采集车, 洞穴里总共有 n 种宝物的,每种宝物的价值为v [i], 重量为 w[i], 每种宝物有 m[i]件。 小 FF 希望在采集车不超载的前提下,选择一些宝物装进采集车,使得它们的价值和最大。
输入
第一行为 2 整数 N 和 W,分别表示宝物种数和采集车的最大载重。
接下来 n 行每行三个整数, 其中第 i 行第一个数表示第 i 类品价值, 第二个整数表示一件该类物品的重量, ...
2266.古代人的难题
input:puzzle.in output:puzzle.out
时间限制: 1000 ms 空间限制: 60000 KB
题目描述
门打开了, 里面果然是个很大的厅堂。但可惜厅堂内除了中央的一张羊皮纸和一根精致的石笔,还有周围几具骷髅外什么也没有。 难道这就是王室的遗产? 小 FF 不信,他仔细阅读了羊皮纸上的内容后发现,里面书写的古代人一直没能解出的难题, 解除这道题目的人只要将答案用石笔写到这张羊皮纸上就能到达王室的宝藏室了。而当小 FF 拿起石笔后,刚刚打开的巨石门突然关上了。 这时小 FF 意识到原来那几具骷髅是在他之前到这里的冒险者,恐怕是因为没能破解这道题而困死在这里了。 小 FF 越想越害怕, 急忙联系到了你,为了能保命,他甚至愿意和你五五分……看来你不得不再次帮他了。 羊皮纸上的问题如下:
已知 x, y 为整数,且满足以下两个条件:
\1. x, y ϵ [1…k], 且x,y,k ϵ Z;
\2. (x^2 – xy – y^2)^2 = 1
给你一个整数 k, 求一组满足上述条件的 x ...