[描述] 给出一个表格,N 行 M 列,每个格子有一个整数,有些格子是空的.现在需要你 来做出一些调整,使得每行都是非降序的.这个调整只能是整列的移动. [输入] 第一行两个正整数 N 和 M. 接下来 N 行,每行 M 个整数,-1 表示这个格子是空的,其他的整数都在 [0, 10^9]范围,表示格子的数字. [输出] 若无解,输出 -1: 否则输出任意一个解,即一行 M 个正整数 p1, p2, · · · , pm,表示可以把初始表格的 pi 列,放在新表格的第 i 列,以得到一个合法的表…
[描述] 小石头喜欢看电影,选择有 N 部电影可供选择,每一部电影会在一天的不同时段播 放.他希望连续看 L 分钟的电影.因为电影院是他家开的,所以他可以在一部电影播放过程中任何时间进入或退出,当然他不希望重复看一部电影,所以每部电影他最多看一次,也不能在看一部电影的时候,换到另一个正在播放一样电影的放映厅. 请你帮助小石头让他重 0 到 L 连续不断的看电影,如果可以的话,计算出最少看几 部电影. [输入格式] 第一行是 2 个整数 N,L,表示电影的数量,和小石头希望看的连续时间 接下来是…
[问题描述] 根据哥德巴赫猜想(每个不小于 6 的偶数都可以表示为两个奇素数之和),定义 哥德巴赫矩阵 A 如下:对于正整数对(i,j),若 i+j 为偶数且 i,j 均为奇素数,则 Ai,j = 1, 否则 Ai,j = 0.现在有若干询问(x1,y1,x2,y2),你需要回答下列式子的值 [输入] 第一行一个整数 m 接下来 m 行,每行四个整数 x1 y1 x2 y2,表示一个询问 [输出] m 行,每行一个整数,表示对应询问的答案 [输入样例] 1 1 1 3 5 [输出样例] 2 30…
string [描述] 给定两个字符串 s,t,其中 s 只包含小写字母以及*,t 只包含小写字母. 你可以进行任意多次操作,每次选择 s 中的一个*,将它修改为任意多个(可以是 0 个)它的前一个字符.问是否能将 s 修改为 t. 有多组数据. [输入] 第一行一个整数 T 表示数据组数. 每组数据两行,第一行一个字符串 s,第二行一个字符串 t. [输出] 每组数据输出一行,如果能将 s 修改为 t,输出 Yes,否则输出 No. [输入样例] 2 a* aaaa a* ab [输出样例]…
Gcd 题目背景 SOURCE:NOIP2015-SHY-2 题目描述 给出n个正整数,放入数组 a 里. 问有多少组方案,使得我从 n 个数里取出一个子集,这个子集的 gcd 不为 1 ,然后我再从剩下的数中取出一个数,把他放进刚刚取出的子集里,使得 gcd 为 1 . 输出方案数 mod (10^9 + 7). 输入格式 第一行一个数 n . 第二行 n 个数,表示 a 数组. 输出格式 输出一个数表示答案. 样例数据 1 输入 3 2 3 2 输出 5 备注 [样例说明] set :2 n…
[问题描述] 万里长城是中国强大的标志,长城在古代的用途主要用于快速传递军事消息和抵御 外敌,在长城上的烽火台即可以作为藏兵的堡垒有可以来点燃狼烟传递消息. 现在有一段 万里长城,一共有 N 个烽火台,有些烽火台里驻扎有士兵,而有一些烽火台没有驻扎.一 次将军巡视时发现了一个巨大的防卫漏洞,一个烽火台狼烟点燃后,并不是任意一个烽火 台就能看见,当距离超过 D 后就不能看见了,为了保证第一个烽火台的狼烟点燃后能顺利 传递到第 N 个烽火台,将军必须要在一些没有驻扎士兵的烽火台中安排士兵驻扎. 长城…
Change 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 Alice 和 Bob 又聚在一起了!他们已经厌倦了取石子游戏,现在他们热衷于切题.于是,Alice 找到了一道题让 Bob 做.Alice 有一张 N*M 的表格,每个格子上有一个值 a[i][j] (1≤i≤N,1≤j≤ M),Alice 将会给 Bob 若干个操作,操作分以下三类: 1. 交换两行 2. 交换两列 3. 输出某一个格子上的值 由于 Bob 正在为给 Alice 出题而发愁,他请你完成这个题. 输…
Minimum 题目背景 SOURCE:NOIP2015-SHY-2 题目描述 给出一幅由 n 个点 m 条边构成的无向带权图. 其中有些点是黑点,另外点是白点. 现在每个白点都要与他距离最近的所有黑点通过最短路连接(如果有很多个,可以选取其中任意一个),我们想要使得花费的代价最小.请问这个最小代价是多少? 注意:最后选出的边保证每个白点到黑点的距离任然是最短距离. 输入格式 第一行两个整数 n,m : 第二行 n 个整数,0 表示白点,1 表示黑点: 接下来 m 行,每行三个整数 x,y,z…
1807 题目背景 SOURCE:NOIP2015-SHY-2 题目描述 给出一个由数字('0'-'9')构成的字符串.我们说一个子序列是好的,如果他的每一位都是 1.8.0.7 ,并且这四个数字按照这种顺序出现,且每个数字都出现至少一次(111888888880000007 是好的,而 1087 不是).请求出最大的好的子序列的长度. 输入格式 输入唯一一行一个字符串. 输出格式 一行一个整数表示答案. 样例数据 1 输入 1800777700088888000777 输出 13 备注 [数据…
繁星 [问题描述] 要过六一了,大川正在绞尽脑汁想送给小伙伴什么礼物呢.突然想起以前拍过一张夜空中的繁星的照片,这张照片已经被处理成黑白的,也就是说,每个像素只可能是两个颜色之一,白或黑.像素(x,y)处是一颗星星,当且仅当,像素(xxx,yyy),(x−1x-1x−1,yyy),(x+1x+1x+1,yyy),(xxx,y−1y-1y−1),(xxx,y+1y+1y+1)都是白色的.因此一个白色像素有可能属于多个星星,也有可能有的白色像素不属于任何一颗星星.但是这张照片具有研究价值,所以大川不…
旅馆 [问题描述] OIEROIEROIER 们最近的旅游计划,是到长春净月潭,享受那里的湖光山色,以及明 媚的阳光.你作为整个旅游的策划者和负责人,选择在潭边的一家著名的旅馆住 宿.这个巨大的旅馆一共有 NNN (111 <=<=<= NNN <=<=<= 500005000050000)间客房,它们在同一层楼中顺次 一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波光粼粼的潭面. 所有的旅游者,都是一批批地来到旅馆的服务台,希望能订到 DiDiDi (111 &…
边的处理(side.cpp) [问题描述] 有一个 n 个点的无向图,给出 m 条边,每条边的信息形如<x,y,c,r><x,y,c,r><x,y,c,r>. 给出 q 组询问形如<u,v,l,r><u,v,l,r><u,v,l,r>.接下来解释询问以及边的意义.询问表示,一开始你在点 u 上,然后按顺序处理编号从 l 到 r 的边. 对于一条边<x,y,c,r><x,y,c,r><x,y,c,r>…
排列(premu.cpp) [题目描述] 对于一个 1 到 n 的排列,逆序数的定义为:排列中第 i 位 ai的逆序数就是 a1-ai-1中比 ai大的数的个数.另外用 pi表示 a1,-,ai的逆序数和(即 pi为逆序数的前缀和). 若知道 n 和 pi,则就能求得原排列. 现在对于排列{ai},给出 n 和{pi},请你还原这个排列. [输入格式] 第一行输入一个数正整数 n. 第二行输入 n 个正整数,表示 pi . [输出格式] 输出一行,共有 n 个数,表示排列 ai. [样例输入]…
区间(interval.cpp) 时限:2000ms 空间限制:512MB [问题描述] 给出一个长度为 n 的序列 a[1]-a[n]. 给出 q 组询问,每组询问形如<x,y><x,y><x,y>,求 a 序列的所有区间中,数字 x 的出现次数与数 字 y 的出现次数相同的区间有多少个. [输入格式] 第一行两个数 n 和 q. 第二行 n 个数 a[i]. 接下来 q 行,每行两个数 x,y 表示一组询问. [输出格式] 输出 q 行,每行一个数表示对应询问的答案…
[描述] 给你一个图,一共有 N 个点,2*N-2 条有向边. 边目录按两部分给出 1. 开始的 n-1 条边描述了一颗以 1 号点为根的生成树,即每个点都可以由 1 号点 到达. 2. 接下来的 N-1 条边,一定是从 i 到 1(2<=i<=N)的有向边,保证每个点都能到 1 有 q 次询问: 1 x w :表示将第 x 条边的边权修改为 w 2 u v :询问 u 到 v 的最短距离 [输入格式] 第一行是 2 个整数 N,Q,表示一共 N 个点 Q 次询问 接下来是 N-1 行,每行…
[输入] 一行两个整数 n P [输出] 从小到大输出可能的 k,若不存在,输出 None [样例输入 1] 5 5 [样例输出] 2 [样例解释] f[0] = 2 f[1] = 2 f[2] = 4 f[3] = 6 mod 5 = 1 f[4] = 5 mod 5 = 0 f[5] = 1 30%的数据保证 n, P ≤ 1000 100%的数据保证 n, P ≤ 10^9 一道算是比较综合的数论题吧,感觉不是很难. 先用矩阵快速幂求出k=1时f[n]的值. 然后解一个k*f[n]+x*p…
Shop 有 n 种物品,第 i 种物品的价格为 vi,每天最多购买 xi 个. 有 m 天,第 i 天你有 wi 的钱,你会不停购买能买得起的最贵的物品.你需要求出你每天会购买多少个物品. [输入格式] 第一行两个整数 n,m.接下来 n 行每行两个整数 vi,xi.接下来 m 行每行一个整数 wi [输出格式] m 行每行一个整数,第 i 行表示第 i 天购买的物品数量. [输入样例] 3 3 1 1 2 2 3 3 5 10 15 [输出样例] 2 4 6 [数据规模] 对于 20%的数据…
or [描述] 构造一个长度为 n 的非负整数序列 x,满足 m 个条件,第 i 个条件为x[li] | x[li+1] | - | x[ri]=pi. [输入] 第一行两个整数 n,m.接下来 m 行每行三个整数 li,ri,pi. [输出] 如果存在这样的序列 x,第一行输出 Yes,第二行输出 n 个不超过 2^30-1 的非负整数表示x[1]~x[n],否则输出一行 No [输入样例 1] 2 1 1 2 1 [输出样例 1] 2 1 1 2 1 [子任务] 对于 30%的数据,n,m<…
xorand 描述 有q次操作,每次操作是以下两种: 1. 加入一个数到集合中 2. 查询,查询当前数字与集合中的数字的最大异或值,最大and值,最大or值 输入 第一行1个正整数Q表示操作次数 接下来Q行,每行2个数字,第一个数字是操作序号OP(1,2),第二个数字是X表示操作的数字 输出 输出查询次数行,每行3个整数,空格隔开,分别表示最大异或值,最大and值,最大or值 样例输入 [输入样例1] 5 1 2 1 3 2 4 1 5 2 7 [输出样例1] 7 0 7 5 5 7 [样例解释…
unlock 描述 经济危机席卷全球,L国也收到冲击,大量人员失业. 然而,作为L国的风云人物,X找到了自己的新工作.从下周开始,X将成为一个酒店的助理锁匠,当然,他得先向部门领导展示他的开锁能力. 领导给了X一串钥匙,这串钥匙串在一个大圆环上,每把钥匙有一个编号(1..N).然后蒙上X的眼睛并把他带到一个圆形的大房间中.在这个房间中有N个上锁的门,用1..N表示,这串N把钥匙每一把正好打开一扇门(钥匙编号和门编号一致就可以打开). X的工作就是打开每扇门.他因为蒙着眼睛,不过可以沿着房间的墙壁…
Dp 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 一块土地有 n 个连续的部分,用 H[1],H[2],-,H[n] 表示每个部分的最初高度.有 n 种泥土可用,他们都能覆盖连续的 k 个部分,第 i 种泥土的价格为 C[i],可以使 i,i+1,-,i+k-1 部分的高度增加 E[i](如果 i+k>n,那就覆盖 i,-,n ),我们必须满足以下条件: 1.每种泥土只能使用一次. 2.成本必须小于等于 m . 要求在上述条件下,使得最低的部分的高度尽量高,请求出这个高度.…
Number 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 如果一个数能够表示成两两不同的 3 的幂次的和,就说这个数是好的. 比如 13 是好的,因为 13 = 9 + 3 + 1 . 又比如 90 是好的,因为 90 = 81 + 9 . 现在我们用 a[i] 表示第 i 小的好数. 比如 a[1] = 1, a[2] = 3, a[5] = 10 . 给定 L,R,请求出 a[L] 到 a[R] 的 和 mod 232. 输入格式 第一行一个整数 T,表示数据组数. 接…
Travel 题目背景 SOURCE:NOIP2015-SHY4 题目描述 小 A 要进行一次旅行.这回他要在序号为 1 到 n 的 n 个城市之间旅行.这 n 个城市之间共有 m 条连接两个城市的单行公路,对于第 i 条公路的风景有一个评分 ai.小 A 有一个要求:挑选旅行路线时经过某条路时看到的风景比上一条经过的公路的风景评分更高.小 A 想看到尽可能多的风景,请你告诉他他能找到的最长的满足他要求旅行路线有多长.(每条公路长度视为1,可以重复经过一个城市) 输入格式 第一行为两个整数数 n…
Game 题目背景 SOURCE:NOIP2015-SHY4 题目描述 Alice 和 Bob 正在玩一个游戏,两个人从 1 轮流开始报数,如果遇到 7 的倍数或者遇到的这个数的十进制表示中含 7 ,则遇到的那个人需要喊"过". 例如: 1 2 3 4 5 6 过 8 9 10 11 12 13 过 15 16 过 18 -- 游戏过后,Bob 提出了一个问题:在区间 [L,R] 里有多少数要喊"过"? 输入格式 第一行一个整数 N ,表示共有 N 组数据. 接下来…
Snow 题目背景 SOURCE:NOIP2015-SHY4 题目描述 有一天,TT 要去 ABC 家.ABC 的大门外有 n 个站台,用 1 到 n 的正整数编号,TT 需要对每个站台访问恰好一定次数以后才能到 ABC 家.站台之间有 m 个单向的传送门,通过传送门到达另一个站台不需要花费任何代价.而如果不通过传送门,TT 就需要乘坐公共汽车,并花费 1 单位的钱.值得庆幸的是,任意两个站台之间都有公共汽车直达. 现在给定每个站台必须访问的次数,对于站台 i ,TT 必须恰好访问 Fi 次(不…
传送门 考虑直接推式子不用优化怎么做. 显然每一个二进制位分开计算贡献就行. 即记录fi,jf_{i,j}fi,j​表示距离iii这个点不超过jjj的点的每个二进制位的0/10/10/1个数. 但直接存是会爆炸的. 考虑到每个数只会被用一次,所以可以考虑主席树那种复用信息的思想来继承长链后代的信息,然后短链直接暴力统计贡献就行. 由于ldxldxldx蒟蒻是口胡选手只会暴力写法,因此正解差不多是照着标程写的233. 细节较多,用指针维护比较自然一些. 代码…
传送门 不得不说神仙出题人DZYODZYODZYO出的题是真的妙. f[i][j][k]f[i][j][k]f[i][j][k]表示选的硬币最大面值为iii最小面值不小于jjj,总面值为kkk时的选法总数. 然后有f[i][l][k1+k2]=∑f[i][j][k1]∗f[j][l][k2]f[i][l][k1+k2]=\sum f[i][j][k1]*f[j][l][k2]f[i][l][k1+k2]=∑f[i][j][k1]∗f[j][l][k2] 这不就是矩阵乘法吗? 上快速幂优化就行了.…
似乎弗洛伊德和迪杰斯特拉都干不了统计方案数,spfa的话就是不断入队就好. #include <cstdio> #include <cstring> #include <queue> #define get_hash(a,b) (a-1)*m+b ; const int Inf=0x3f3f3f3f; ]={-,-,-,-,,,,},t2[]={-,-,,,,,-,-}; int f[N*N],dis[N*N],n,s[N][N],m,hash[N][N],S,E,al…
Nescafe #29 NOIP模拟赛 不知道这种题发出来算不算侵权...毕竟有的题在$bz$上是权限题,但是在$vijos$似乎又有原题...如果这算是侵权的话请联系我,我会尽快删除,谢谢~ 今天开始就处于一种半停课状态了.学校学习衡水,把休息时间压缩后每天又多了两节自习来写作业,但是我正好就可以来机房啦2333 因为考试时间被文化课分割成了一些散块,这里就不区分考试时的代码和赛后补题了. T1:穿越七色虹 题意概述:给出$x$轴上的$7$个圆(圆心和半径)(只保留$x$轴以上的部分),可以将…
T1:模拟 自己第一天的简直跟白痴一样啊...模拟都会打错.. 当时貌似在更新最大值的时候打逗比了... if((sum[x]==max && x<maxh) || sum[x]>max){  max=sum[x];  maxh=x; //现在(也就是9月+)再看,脑袋里只有sortsortsort,连最基本的更新最大指都忘了....智商唉.... 附上代码: #include<cstdio> #include<cstring> using namesp…