2018.08.18 NOIP模拟 travel(贪心)】的更多相关文章

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 次(不…
[描述] 小石头喜欢看电影,选择有 N 部电影可供选择,每一部电影会在一天的不同时段播 放.他希望连续看 L 分钟的电影.因为电影院是他家开的,所以他可以在一部电影播放过程中任何时间进入或退出,当然他不希望重复看一部电影,所以每部电影他最多看一次,也不能在看一部电影的时候,换到另一个正在播放一样电影的放映厅. 请你帮助小石头让他重 0 到 L 连续不断的看电影,如果可以的话,计算出最少看几 部电影. [输入格式] 第一行是 2 个整数 N,L,表示电影的数量,和小石头希望看的连续时间 接下来是…
string [描述] 给定两个字符串 s,t,其中 s 只包含小写字母以及*,t 只包含小写字母. 你可以进行任意多次操作,每次选择 s 中的一个*,将它修改为任意多个(可以是 0 个)它的前一个字符.问是否能将 s 修改为 t. 有多组数据. [输入] 第一行一个整数 T 表示数据组数. 每组数据两行,第一行一个字符串 s,第二行一个字符串 t. [输出] 每组数据输出一行,如果能将 s 修改为 t,输出 Yes,否则输出 No. [输入样例] 2 a* aaaa a* ab [输出样例]…
[问题描述] 万里长城是中国强大的标志,长城在古代的用途主要用于快速传递军事消息和抵御 外敌,在长城上的烽火台即可以作为藏兵的堡垒有可以来点燃狼烟传递消息. 现在有一段 万里长城,一共有 N 个烽火台,有些烽火台里驻扎有士兵,而有一些烽火台没有驻扎.一 次将军巡视时发现了一个巨大的防卫漏洞,一个烽火台狼烟点燃后,并不是任意一个烽火 台就能看见,当距离超过 D 后就不能看见了,为了保证第一个烽火台的狼烟点燃后能顺利 传递到第 N 个烽火台,将军必须要在一些没有驻扎士兵的烽火台中安排士兵驻扎. 长城…
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%的数据…
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 [样例解释…
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 出题而发愁,他请你完成这个题. 输…
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,表示数据组数. 接…
T1 dp,特别裸特别简单,我放弃了写了个dfs. T2 树归,特别裸特别简单,我不会写. T3 贪心二分不知道什么玩意儿反正不会写就对了. 我是个智障…
[描述] 给你一个图,一共有 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…
[描述] 给出一个表格,N 行 M 列,每个格子有一个整数,有些格子是空的.现在需要你 来做出一些调整,使得每行都是非降序的.这个调整只能是整列的移动. [输入] 第一行两个正整数 N 和 M. 接下来 N 行,每行 M 个整数,-1 表示这个格子是空的,其他的整数都在 [0, 10^9]范围,表示格子的数字. [输出] 若无解,输出 -1: 否则输出任意一个解,即一行 M 个正整数 p1, p2, · · · , pm,表示可以把初始表格的 pi 列,放在新表格的第 i 列,以得到一个合法的表…
[问题描述] 根据哥德巴赫猜想(每个不小于 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…
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<…
unlock 描述 经济危机席卷全球,L国也收到冲击,大量人员失业. 然而,作为L国的风云人物,X找到了自己的新工作.从下周开始,X将成为一个酒店的助理锁匠,当然,他得先向部门领导展示他的开锁能力. 领导给了X一串钥匙,这串钥匙串在一个大圆环上,每把钥匙有一个编号(1..N).然后蒙上X的眼睛并把他带到一个圆形的大房间中.在这个房间中有N个上锁的门,用1..N表示,这串N把钥匙每一把正好打开一扇门(钥匙编号和门编号一致就可以打开). X的工作就是打开每扇门.他因为蒙着眼睛,不过可以沿着房间的墙壁…
*注意:这套题目应版权方要求,不得公示题面. 从这里开始 Problem A 妹子 Problem B 旅程 Problem C 老大 因为业务水平下滑太严重,去和高一考NOIP模拟,sad... Problem A 妹子 题目大意 给定两个矩形,问一个能否将一个矩形放在另一个矩形里面. 先可以根据面积判断哪一个被放在里面,然后判断一下能不能直接放或者旋转90°放进去. 如果不行的话,接着考虑旋转.我们考虑这样↓放置小矩形. 连接$EG$,作$GI\perp AD$于点$I$,$FJ\perp …
传送门 听说是最长反链衍生出的对偶定理就能秒了. 本蒟蒻直接用线段树模拟维护的. 对于第一维排序. 维护第二维的偏序关系可以借助线段树/树状数组维护逆序对的思想建立权值线段树贪心求解. 代码…
传送门 把每一个数aaa质因数分解. 假设a=p1a1∗p2a2∗...∗pkaka=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}a=p1a1​​∗p2a2​​∗...∗pkak​​ 然后可以转化成a′=p1a1mod3∗p2a2mod3∗...∗pkakmod3a'=p_1^{a_1mod3}*p_2^{a_2mod3}*...*p_k^{a_kmod3}a′=p1a1​mod3​∗p2a2​mod3​∗...∗pkak​mod3​ 然后可以找到另外一个不含立方因子的bb…
传送门 正解是dp并不想去想了. 自己yy了一个贪心拿了95pts95pts95pts,唯一没过的点还只有一个地方错了,面向数据变成之后过啦! 所以我讲讲如何贪心. 考虑到最后都只会合并成一种颜色,所以我们直接枚举变成哪种,然后让其它的全部强制直接变成那一种就行了. 欢乐95pts95pts95pts 代码(加了特判)…
传送门 一道有意思的贪心. 感觉使用了网络流推流反悔的思想. 考虑维护三个setsetset维护a[i]−b[i],b[i]a[i]-b[i],b[i]a[i]−b[i],b[i]和a[i]a[i]a[i],每次要么用第一个集合和第二个集合的最小值,要么用第三个集合. 每次弹出当前的最优值更新答案就可以了. 代码…
传送门 简单贪心题. 然而考试的时候失了智少讨论了一种情况导致gg. 实际上用到了二分图匹配的思想,L每次找到刚好比当前的牌小一点的出出去,看能匹配几个. 如何处理? 我们先考虑第一种比分策略. 我们先将L的对手的牌按照权值从大到小排序. 再把L的牌从大到小排序. 然后思考O(n2)O(n^2)O(n2)的暴力贪心方法,即每次枚举断点之后分别求出左右两侧的最优值加起来. 然后这样的效率令人窒息. 于是考虑优化. 我们先推出没有断点的时候的匹配情况(直接用lower_bound). 然后假设如下图…
传送门 考虑 n = 2 时的情况:假定两个人分别为(a, b),(c, d),则当且仅当min(a,d) ≤ min(b,c)时,把(a, b)放在前面更优,否则把(c, d)放在前面更优 然后把n = 2 的结论进行扩展.我们定义第 i 个小朋友比第 j 个小朋友小,当且仅当 min(ai,bj) <min(aj,bi),以这个规则进行排序,时间复杂度 O(nlogn). 这样得到的新队伍一定是满足题目要求的最优解之一,当然还可能存在其它最优解. 代码…
传送门 按照题意模拟维护最小的环套树森林就行了. 然而考试的时候naivenaivenaive瞎写了一个错误的贪心. 代码…
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…
二兵的赌注 Description游戏中,二兵要进入了一家奇怪的赌场.赌场中有n个庄家,每个庄家都可以猜大猜小,猜一次一元钱.每一次开彩前,你都可以到任意个庄家那里下赌注.如果开彩结果是大,你就可以得到你之前猜大的庄家相应的ai元钱.如果开彩结果是小,你就可以得到你之前猜小的庄家相应的bi元钱.你可以在同一个庄家那里既猜大又猜小,(这样是两块钱),也可以什么都不猜(这样不用钱).问怎么样下注,才能赢得最多的有保障的钱.有保障的钱指不管开彩结果是大是小,你都能够赢得相应的钱.你能帮助他计算这个值吗…
题目背景 SOURCE:NOIP2015-GDZSJNZX(难) 题目描述 Mike 正在在忙碌地发着各种各样的的短信.旁边的同学 Tom 注意到,Mike 发出短信的接收方手机号码似乎都满足着特别的性质,难道Mike 的好朋友是满足正态分布的?Tom 很好奇. 由于 Mike 有着自己最喜欢的数字 a ,并且 a 的范围是:2≤a≤9 .Tom 从这里入手,发现了一些端倪,假设 Mike 发的电话号码是一个十进制数字 S ,Tom 发现 S 会满足以下三个性质中的一个: 1.S 是 a 的倍数…
传送门 sb模拟,考试跟着sb了90分. 代码…