10 2017 档案
摘要:分析:首先肯定是要用线性筛把素数全部给筛出来的,然后可以维护一个前缀和数组记录1~i个素数的和,对于每一个询问可以从n到1+k枚举它的右端点,然后利用前缀和统计一个长度为K的区间和,看看是不是满足条件.其实这个可以利用二分来加速,然后就做完了. 二分的时候如果有多个条件需要满足,可以拆分开来讨论l,
阅读全文
摘要:分析:对于前30%的数据直接暴力模拟即可,对于另外30%的数据,因为每次的p是一样的,所以可以用莫队来维护,先离散化一下,再用一个桶统计次数. 100%的做法和之前做过的一道模拟赛题很像,当模数很小的时候分块,否则就暴力修改.其实看到区间操作第一感觉是线段树,但是线段树并不能维护这个,分块维护的信息
阅读全文
摘要:分析:是一道非常有意思的题,30分的暴力的话枚举每个位置是什么数,然后排个序,用map判一下重就好了,比较麻烦. 满分做法显然不可能讨论每个位置所有的情况,肯定是有规律的,现将这n*(n-1)/2个数排序,假设N个数组成的排列是a1,a2,......,aN,并且a1≤a2≤......≤aN.那么
阅读全文
摘要:分析:暴力挺好打的,对于前30%的数据神搜,hi相同的数据将所有的建筑按照c从小到大排序,看最多能跳多少,ci=0的数据将所有的建筑按照h从小到大排序,枚举起点和终点,看能否跳这么多,取个max就可以了.这样70分就到手了. 部分分的提示还是比较明显的,要消除一个参数的影响,那么就按照h从小到大排序
阅读全文
摘要:题目描述LYK在学习dp,有一天它看到了一道关于dp的题目。这个题目是这个样子的:一开始有n个数,一段区间的价值为这段区间相同的数的对数。我们想把这n个数切成恰好k段区间。之后这n个数的价值为这k段区间的价值和。我们想让最终这n个数的价值和尽可能少。例如6个数1,1,2,2,3,3要切成3段,一个好
阅读全文
摘要:题目描述 LYK做了一个梦。 这个梦是这样的,LYK是一个财主,有一个仆人在为LYK打工。 不幸的是,又到了月末,到了给仆人发工资的时间。但这个仆人很奇怪,它可能想要至少x块钱,并且当LYK凑不出恰好x块钱时,它不会找零钱给LYK。 LYK知道这个x一定是1~n之间的正整数。当然抠门的LYK只想付给
阅读全文
摘要:题目描述 LYK出了道水题。 这个水题是这样的:有两副牌,每副牌都有n张。 对于第一副牌的每张牌长和宽分别是xi和yi。对于第二副牌的每张牌长和宽分别是aj和bj。第一副牌的第i张牌能覆盖第二副牌的第j张牌当且仅当xi>=aj并且yi>=bj。(注意牌不能翻转)当然一张牌只能去覆盖最多一张牌,而不能
阅读全文
摘要:题目描述 LYK在玩猜数字游戏。 总共有n个互不相同的正整数,LYK每次猜一段区间的最小值。形如[li,ri]这段区间的数字的最小值一定等于xi。 我们总能构造出一种方案使得LYK满意。直到…… LYK自己猜的就是矛盾的! 例如LYK猜[1,3]的最小值是2,[1,4]的最小值是3,这显然就是矛盾的
阅读全文
摘要:题目描述LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。LYK还定义了一个数叫“立方差数”,若一个数可以被写作是两个立方数的差,则这个数就是“立方差数”,例如7(8-1),26(27-1),19(27-8)都是立方差数
阅读全文
摘要:题目描述LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。现在给定一个数P,LYK想要知道这个数是不是立方数。当然你有可能随机输出一些莫名其妙的东西来骗分,因此LYK有T次询问~ 输入格式(cubic.in) 第一行一个
阅读全文
摘要:【问题描述】有4个长度为N的数组a,b,c,d。现在需要你选择N个数构成数组e,数组e满足a[i]≤e[i]≤b[i]以及 并且使得 最大。【输入格式】输入文件名为abcd.in。输入文件共 N+1 行。第 1 行包含1个正整数N。第 i+1 行包含4个整数a[i],b[i],c[i],d[i]。【
阅读全文
摘要:【问题描述】Vasya在玩一个叫做"Dwarf Tower"的游戏,这个游戏中有n个不同的物品,它们的编号为1到n。现在Vasya想得到编号为1的物品。获得一个物品有两种方式:1. 直接购买该物品,第i件物品花费的钱为ci2. 用两件其他物品合成所需的物品,一共有m种合成方式。请帮助Vasya用最少
阅读全文
摘要:【问题描述】有两个正整数数列,元素个数分别为N和M。从两个数列中分别任取一个数相乘,这样一共可以得到N*M个数,询问这N*M个数中第K小数是多少。【输入格式】输入文件名为number.in。输入文件包含三行。第一行为三个正整数N,M和K。第二行为N个正整数,表示第一个数列。第三行为M个正整数,表述第
阅读全文
摘要:分析:这道题难度和天天爱跑步差不了多少啊......裸的暴力只有10分,最好大的还是那个5%的数据,不过这也才15分,比天天爱跑步的暴力分不知道少到哪里去了. 正解是dp,毕竟要求方案数嘛,但是这个dp非常不好想.设f[i][j]表示i到j个数的回文子序列的个数.f[i][j]可以从f[i][j-1
阅读全文
摘要:分析:做着感觉像脑筋急转弯一样......因为空间的限制,存不下每一个数,所以用数学方法来解. 设t1=Σai - Σbi = aj - bj,t2=Σi*ai - Σi*bi = j*(aj - bj).j是a,b不相等的位置,t2/t1就是答案了.
阅读全文
摘要:分析:数据中并不存在无解的情况...... 每个摄像头都要覆盖尽可能多的点,按照y从小到大排序.对于每一列,只用判断第一个没有被观测到的就可以了,这个点必须要放摄像头,因为除了它自己没有其它的摄像头能观测到它了,如果它的下面有摄像头没有覆盖到,那么它就必须要观测下面,否则观测右边是最优的. 以为会爆
阅读全文
摘要:【问题描述】 很久很久以前有一个国家,这个国家有N个城市,城市由1,2,3,…,N标号,城市间有M条双向道路,每条道路都有两个属性g和s,两个城市间可能有多条道路,并且可能存在将某一城市与其自身连接起来的道路。后来由于战争的原因,国王不得不下令减小花费从而关闭一些道路,但是必须要保证任意两个城市相互
阅读全文
摘要:【 问题描述 】 有N辆列车,标记为1,2,3,…,N。它们按照一定的次序进站,站台共有K个轨道,轨道遵从 先进先出的原则。列车进入站台内的轨道后可以等待任意时间后出站,且所有列车不可后退。现在要使出站的顺序变为N,N-1,N-2,…,1,询问K的最小值是多少。 例如下图中进站的顺序为1,3,2,4
阅读全文
摘要:【问题描述】 平面上有N条直线,用方程Aix + Biy +Ci =0表示。这些直线没有三线共点的。现在要你计算出用这些直线可以构造出多少三角形? 输入: 第1行:一个整数N(1 ≤ N≤ 300000)。 下面N行:每行3个整数:Ai, Bi 和Ci,表示对应直线方程的系数。不超过10^9. 对于
阅读全文
摘要:问题描小空正在玩一个叫做捡金币的游戏。游戏在一个被划分成 n行 n列的网格状场地中进行。每一个格子中都放着若干金币,并且金币的数量会随着时间而不断变化。 小空的任务就是在网格中移动,拾取尽量多的金币。 并且,小空还有一个特殊技能“闪现”, 能帮助她在网格间快速移动。捡金币游戏的具体规则如下:在每一秒
阅读全文
摘要:【问题描述】n 个小朋友在玩传球。 小朋友们用 1 到 n 的正整数编号。 每个小朋友有一个固定的传球对象,第 i 个小朋友在接到球后会将球传给第 ai个小朋友, 并且第 i 个小朋友与第 ai个小朋友之间的距离为 di。一次传球接力是这样进行的:由一个小朋友发球,将球传给他的传球对象,之后接到球的
阅读全文
摘要:【问题描述】在银行柜台前,有 n 个顾客排队办理业务。 队伍中从前往后,第 i 位顾客办理业务需要ti 分钟时间。 一位顾客的等待时间定义为:队伍中在他之前的所有顾客和他自己的办理业务时间的总和。第 i 位顾客有一个最长等待时间 di,如果超过了时间 di, 业务还没有办理完成,那么这位顾客就会觉得
阅读全文
摘要:【问题描述】有个孩子叫小 Y,一天,小 Y 拿到了一个包含 n 个点和 n-1 条边的无向连通图, 图中的点用 1~n 的整数编号。小 Y 突发奇想,想要数出图中有多少个“Y 字形”。一个“Y 字形”由 5 个不同的顶点 A、 B、 C、 D、 E 以及它们之间的 4 条边组成,其中 AB、BC、
阅读全文
摘要:【问题描述】你是一名优秀的水管工。 一天你遇到了一个棘手的难题。 你需要在一个长方体状的房间内连接一条贯穿房间内部的水管。房间的长为 X,宽为 Y,高为 Z, 整个房间可以看成是 X×Y×Z个小立方体空间组成的。 如果位房间建立直角坐标系,则房间内每个小立方体空间都可以用一个三维坐标(x,y,z)表
阅读全文
摘要:【问题描述】有一面很长很长的墙。 你需要在这面墙上贴上两行瓷砖。 你的手头有两种不同尺寸的瓷砖, 你希望用这两种瓷砖各贴一行。瓷砖的长可以用分数表示,贴在第一行的每块瓷砖长度为A/B贴在第二行的每块瓷砖长度为C/D.本问题中你并不需要关心瓷砖的宽度。 如上图所示, 两排瓷砖从同一起始位置开始向右排列
阅读全文
摘要:【问题背景】zhx 和他的妹子(们) 做游戏。【问题描述】考虑 N 个人玩一个游戏,任意两个人之间进行一场游戏(共 N*(N-1)/2 场),且每场一定能分出胜负。现在, 你需要在其中找到三个人构成“剪刀石头步”局面: 三个人 A, B, C满足 A 战胜 B, B 战胜 C, C 战胜 A。 【输
阅读全文
摘要:【问题背景】zhx 给他的妹子们排序。【问题描述】zhx 有 N 个妹子, 他对第 i 个妹子的好感度为 ai,且所有 ai两两不相等。 现 在 N 个妹子随意站成一排, 他要将她们根据好感度从小到大排序。 他使用的是冒泡排序算法(详见下)。如果排序过程中好感度为 ai的妹子和aj的妹子发生了交换,
阅读全文
摘要:【问题背景】zhx 和他的妹子聊天。【问题描述】考虑一种简单的加密算法。假定所有句子都由小写英文字母构成, 对于每一个字母, 我们将它唯一地映射到另一个字母。 例如考虑映射规则:a->b, b->c, c->d, d->a. 那么单词 bad 就会被映射为 cba。这个映射规则的“逆映射规则”为:
阅读全文
摘要:【问题背景】zhx 和妹子们玩数数游戏。【问题描述】仅包含 4 或 7 的数被称为幸运数。一个序列的子序列被定义为从序列中删去若干个数, 剩下的数组成的新序列。两个子序列被定义为不同的当且仅当其中的元素在原始序列中的下标的集合不相等。对于一个长度为 N的序列,共有 2^N个不同的子序列。(包含一个空
阅读全文
摘要:【问题背景】zhx 和他的妹子出去玩。【问题描述】zhx 和他的妹子去一个国家旅游,共有 N 个旅游景点, N-1 条双向连接的道路将它们联通起来, 每一条道路有固定长度。 一开始 zhx 位于 1 号景点。现在希望你能够求出旅行长度最小的方案, 使得每个景点至少被访问到一次。【输入格式】第一行两个
阅读全文
摘要:【问题背景】zhx 帮他妹子做数学题。【问题描述】求: 如 N=3, M=3, 这个值为 1^1+1^2+1^3+2^1+2^2+2^3+3^1+3^2+3^3=56。 【输入格式】仅一行, 包含两个数 N 和 M.【输出格式】仅一行, 包含所求的答案 mod 10^9 + 7 的值。【样例输入】3
阅读全文
摘要:【问题描述】在一片草原上有N个兔子窝,每个窝里住着一只兔子,有M条路径连接这些窝。更特殊地是,至多只有一个兔子窝有3条或更多的路径与它相连,其它的兔子窝只有1条或2条路径与其相连。换句话讲,这些兔子窝之前的路径构成一张N个点、M条边的无向连通图,而度数大于2的点至多有1个。兔子们决定把其中K个兔子窝
阅读全文
摘要:【问题描述】 有一种圆桌游戏是这样进行的:n个人围着圆桌坐成一圈,按顺时针顺序依次标号为1号至n号。对1<i<n的i来说,i号的左边是i+1号,右边是i-1号。1号的右边是n号,n号的左边是1号。每一轮游戏时,主持人指定一个还坐在桌边的人(假设是i号),让他向坐在他左边的人(假设是j号)发起挑战,如
阅读全文
摘要:【问题描述】商店里出售n种不同品种的花。为了装饰桌面,你打算买m支花回家。你觉得放两支一样的花很难看,因此每种品种的花最多买1支。求总共有几种不同的买花的方案?答案可能很大,输出答案mod p的值。 【输入格式】一行3个整数n,m,p,意义如题所述。 【输出格式】一个整数,表示买花的方案数。 【输入
阅读全文
摘要:分析:暴力的方法是非常显然的,从起点走一次,从终点走一次,路径相交的点即为所求,但是这样存图都很难存下,而且如果数据极端可能要求R*C次,时间空间都受不了.如果不需要记录整张图,并且一次能移动很多步就好了,标程用了树状数组+set,我不是很懂,只能打一个暴力了. 暴力: std:
阅读全文
摘要:分析:感觉很像是贪心,但是直接贪找不到方法.一个暴力的想法是枚举最小步数,然后看每个指针能够覆盖到的位置,看看能不能覆盖到所有点.这个求最大覆盖就有点贪心的思想,因为给的ai,bi都是递增顺序的,考虑第i个指针,如果左边还有点没有覆盖到是一定要去覆盖的,剩下的步数可以一直往右走.这样的话有两种情况,
阅读全文
摘要:分析:题目可以转化为对于一个数,对它进行x次减法操作,n-x次加法操作,使他变成最小的非负整数.因为每减一次数就会减小,次数是一定的,所以可以二分x,就可以了.
阅读全文
摘要:分析:这道题实在是不好想,一个可以骗分的想法是假定要求的那个点在中心点上,可以骗得不少分.但是在边上的点要怎么确定呢?理论复杂度O(﹢无穷).答案一定是和端点有关的,涉及到最大值最小,考虑二分最大值,关键就是怎么check.如果有一条边x,还有一个点y,把y到x上的点的距离>mid的点给标记上,这样
阅读全文
摘要:分析:对于第一个点,答案为26^n - 25^n,这个很好想.另外30%的点因为n <= 5,所以可以直接暴力搜索. 数学方法不是很好处理,考虑dp,设f[i][j]为前i位匹配到危险串第j位的方案数,枚举第i+1位上的字母k,f[i][j]可以转移到f[i+1][危险串中下一个k出现的位置],危险
阅读全文
摘要:分析:比较难的一道题,看到要求方案数,又是在一棵树上,自然就想起了树形dp.状态该怎么表示呢?首先肯定有一维状态表示以i为根的子树,考虑到i有没有匹配对答案也是有影响的,自然而然状态就出来了:f[i][0/1]表示以i为根的子树中,i取或不取的最大匹配.因为要求方案数,再开一个数组g[i][0/1]
阅读全文
摘要:题目更正:输出的a<b. 分析:这是一道数学题,范围这么大肯定是有规律的,打个表可以发现f(a,b)=k,a+b最小的a,b是斐波那契数列的第k+1项和k+2项.矩阵快速幂搞一搞就好了.
阅读全文
摘要:题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。 为了减少骗分的情况,接下来还要输出子串的前缀数组next。 (如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了。) 输入输出格式 输入格式: 第一行为一个字符串,即为s1(仅包含
阅读全文
摘要:分析:体积最大的比较好处理,对于第(i,j)格的高度取min(a[i],b[j])就好了,保证让每个格子的高度最大.对于最小的情况,只要让第i列上有一个格子高度为a[i],其它全是0,第j行有一个高度为b[j],其它全是0就好了.如果a,b中有相同的元素,那么它们可以共用一个格子,因为最后每个高度都
阅读全文
摘要:3 分析:约瑟夫环问题,可以用链表模拟做,也可以套用公式,比较水.
阅读全文
摘要:分析:纯数学题.相离和包含关系的可以很容易算出来答案,相交的话要先求出两个圆的面积,然后减掉中间重叠的部分,这一部分并不能直接求出来,但是可以求出两个扇形的面积,和它们围成的一个四边形的面积,加加减减就出来了.利用到了acos函数,返回来的是弧度制!
阅读全文
摘要:分析:子树上操作,要用到线段树+dfs序,关键就是子树内k还要增加,这个就不是很好办.可以求出在根节点+0后每个点会加多少,记为d[i],如果要对点x进行A操作,实际上只需要对子树加k - d[i]再加上子树的d[i]和,但是在实际求答案的时候不能直接求出子树和+Σd[i],因为如果你没有修改的话答
阅读全文
摘要:分析:很显然这是一道搜索题,可能是由于我的搜索打的太不美观了,这道题又WA又T......如果对每一个询问都做一次bfs是肯定会T的,注意到前70%的数据范围,N的值都相等,我们可以把给定N的所有情况给算出来,然后O(1)查询.从终点状态往起点状态BFS就可以了. 当最终状态很少,起始状态很多的时候
阅读全文
摘要:分析:一道非常恶心的dp题.每个人要么选或不选,很像是0-1背包,可以套用背包问题的状态,但是因为题目要求3个值,所以可以再加一维表示3个答案. f[i][j][k][l][p][0/1/2]表示i个守门员,j个后卫,k个中锋,l个前锋,花费是p,最后一维是0则表示不考虑队长的价值,1是方案数,2是
阅读全文
摘要:分析:这道题有点丧病啊......斐波那契数列本来增长就快,n <= 10^100又套2层,看到题目就让人绝望.不过这种题目还是有套路的.首先求斐波那契数列肯定要用到矩阵快速幂,外层的f可以通过取模来变小,可是里面的f不能直接取模1e9+7.因为余数最多就1e9+7种,所以肯定有一个循环节,打表发现
阅读全文
摘要:分析:题目中说用栈实现,我觉得这样很麻烦,就用了一个数组+指针解决了.其实就是大模拟.
阅读全文
摘要:题目描述 给定一个 n ∗ m 个矩阵,矩阵中每个数都是 [1, 12] 内的整数。你可以执行下列两个操作任意多次: • 指定一行,将该行所有数字 +1. • 指定一列,将该列所有数字 +1. 如果执行完上述操作之后,矩阵中某个数变成了 3, 6, 9, 12 其中的某一个,我们认为这个数是稳的。
阅读全文
摘要:题目描述 给定一个长度为偶数的排列 p,你每次可以选取 p 排列中相邻的两个元素,假如分别是 x 和 y,那 么把 x 和 y 加入一个序列 q 的末尾,并将 x 和 y 从排列 p 中删除。重复上述过程,直到 p 中没有元素, 显然最终 q 序列也是一个排列。例如 p = (1, 3, 2, 4)
阅读全文
摘要:题目描述 给定一篇只含有大小写字母,空格以及 ′.′(不含引号)的长度为 L 的文章。文章被若干个 ′.′ 划分 成若干个句子,句子被若干个空格划分成单词。你需要将文章中每个句子第一个单词的首字母改成大写, 其他一律小写,空格与 ′.′ 需原样输出。注意,可能存在某个句子中没有单词,或者某两个单词之
阅读全文
摘要:题目背景 大样例下发链接: https://pan.baidu.com/s/1nuVpRS1 密码: sfxg 注意:本题大样例4的输出文件修改为 https://pan.baidu.com/s/1bUWuZW 奈芙莲·卢可·印萨尼亚(Nephren-Ruq-Insania) 同为妖精仓库的成体妖精
阅读全文
摘要:题目背景 大样例下发链接: https://pan.baidu.com/s/1nuVpRS1 密码: sfxg こんなにも、たくさんの幸せをあの人に分けてもらった だから、きっと 今の、私は 谁が何と言おうと 世界一、幸せな女の子だ 题目描述 ——“假如……我是说假如喔。 万一我再过五天就会死,你能
阅读全文
摘要:题目描述 妖精仓库里生活着黄金妖精们,她们过着快乐,却随时准备着迎接死亡的生活。 换用更高尚的说法,是随时准备着为这个无药可救的世界献身。 然而孩子们的生活却总是无忧无虑的,幼体的黄金妖精们过着天真烂漫的生活,自然也无暇考虑什么拯救世界之类的重任。 有一天小妖精们又在做游戏。这个游戏是这样的。 妖精
阅读全文
摘要:【问题描述】 定义一个长度为奇数的区间的值为其所包含的的元素的中位数。 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少。 【输入】 输入文件名为kth.in。 第一行两个数n和k 第二行,n个数。(0<=每个数<231) 【输出】 输出文件名为kth.out。 一个数表示答案。
阅读全文
摘要:【问题描述】 给出m个数a[1],a[2],…,a[m] 求1~n中有多少数不是a[1],a[2],…,a[m]的倍数。 【输入】 输入文件名为count.in。 第一行,包含两个整数:n,m 第二行,包含m个数,表示a[1],a[2],…,a[m] 【输出】 输出文件名为count.out。 输出
阅读全文
摘要:分析:这道题一个一个枚举都能有70分...... 前60分可以用中国剩余定理搞一搞.然而并没有枚举分数高......考虑怎么省去不必要的枚举,每次跳都只跳a的倍数,这样对前面的式子没有影响,为了使得这个倍数最小从而不会WA掉,每次跳最小公倍数就可以了. 60分代码: 100分代码:
阅读全文
摘要:分析:因为序列是不严格单调的,所以挪动一个数其实就相当于把这个数给删了.如果a[i] < a[i-1],那么可以删掉a[i],也可以删掉a[i-1](!如果没考虑到这一点就只有90分),删后判断一下序列是否单调,删的次数是否≤1即可.
阅读全文
摘要:分析:用裸暴力可以得60分,每次dfs,看第i个盒子到底有没有钻石就行了.其实这很像0/1背包问题,只是多了一个m的限制.这要怎么办呢?因为概率是可以加减的,所以可以先不考虑m的限制,求出概率,然后dfs一遍把money < m的概率给减掉就好了. 正解是meet in the middle,dp+
阅读全文
摘要:分析:最暴力的思想就是枚举一边啦,然后就会发现有很多n/i的结果都是相同的,可以每次跳过这一段,这样能过60分. 想不出其它解法了,打个表找了一下规律: ans num 1 1 2 2 3 2 4 3 5 3 会发现除了第一个ans以外,其它的就是一个等差数列,应用一下等差数列求和公式,二分一下项数
阅读全文
摘要:分析:如果每个数可以选任意多次,那么就是一个很普通的dp问题,这里每个数只能选一次,还是考虑dp,设f(i)表示1~i是否都能选上.考虑下一个数j,如果j > i + 1,那么i+1这个数就选不上,答案就是i+1,否则f(i)可以转移到f(i + j),这个算法是建立在集合有序的情况下的,所以要先排
阅读全文
摘要:题目描述在一个10000*10000的二维平面上,有n颗糖果。LYK喜欢吃糖果!并且它给自己立了规定,一定要吃其中的至少C颗糖果!事与愿违,LYK只被允许圈出一个正方形,它只能吃在正方形里面的糖果。并且它需要支付正方形边长的价钱。LYK为了满足自己的求食欲,它不得不花钱来圈一个正方形,但它想花的钱尽
阅读全文
摘要:题目描述LYK有n个小伙伴。每个小伙伴有一个身高hi。这个游戏是这样的,LYK生活的环境是以身高为美的环境,因此在这里的每个人都羡慕比自己身高高的人,而每个人都有一个属性ai表示它对身高的羡慕值。这n个小伙伴站成一列,我们用hi来表示它的身高,用ai来表示它的财富。每个人向它的两边望去,在左边找到一
阅读全文
摘要:分析:f(n)就是问有多少对a*b*c = n,如果是Σf(i),那就是问有多少对a*b*c <= n. 这道题和之前做过的一道数三角形的题差不多:传送门,先假设一下a <= b <= c,=和<不好同时处理,那么我们就分开处理,先处理<的情况,a <= 三次根号下n,b * b <= n / a,
阅读全文
摘要:题目描述LYK进了一家古董店,它很想买其中的一幅画。但它带的钱不够买这幅画。幸运的是,老板正在研究一个问题,他表示如果LYK能帮他解出这个问题的话,就把这幅画送给它。老板有一个n*m的矩阵,他想找一个和最大的子矩阵,这个子矩阵可以由四个参数x,y,x2,y2(1<=x<=x2<=n,1<=y<=y2
阅读全文
摘要:题目描述LYK在玩一个游戏。有k群小怪兽想乘坐公交车。第i群小怪兽想从xi出发乘坐公交车到yi。但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点。LYK想让小怪兽们尽可能的到达自己想去的地方。它想知道最多能满足多少小怪兽的要求。当然一群小怪兽没必要一起上下车,它们是可以被分开来的。 输入
阅读全文
摘要:题目描述LYK有一个括号序列,但这个序列不一定合法。一个合法的括号序列如下:()是合法的括号序列。若A是合法的括号序列,则(A)是合法的括号序列。若A和B分别是合法的括号序列,则AB是合法的括号序列。LYK想通过尽可能少的操作将这个不一定合法的括号序列变成合法的括号序列。一次修改操作是将某个字符变成
阅读全文
摘要:分析:其实就是要求sum[a][r] - sum[a][l - 1] - (sum[b][r] - sum[b][l - 1])最大,变形一下,可以得到sum[a][r] - sum[b][r] - (sum[a][l - 1] - sum[b][l - 1]),我们可以枚举位置r和b,a就是当前位
阅读全文
摘要:分析:or操作只有在结果的这一位为0的情况下才会强制要求两个数的这一位都为0,其它时候不强求,所以为了最大限度地满足条件,我们先把所有的数的所有位全部变成1,如果p的第i位为0,那么[l,r]的数的第i位都要为0,&一下p就好了.最后检验一下看看是否满足所有条件就可以了。为什么这样做事合法的呢?因为
阅读全文
摘要:题目背景 Aldnoah ——火星上超古代文明留下的能量源,承认初代火星移民雷伊·雷加利亚博士(即后来的薇瑟帝国初代皇帝)为正统继承者,启动因子融入皇族的遗传因子中,只有皇族天生具有Aldnoah的启动能力。可以把Aldnoah看成是有认主能力的特殊矿产。在火星骑士的扬陆城中,安置有Aldnoah的
阅读全文
摘要:题目背景 紫女,韩国歌舞坊(实为刺客组织)紫兰轩之主,千娇百媚,美艳无方。武艺高强且极有谋略胆识,精通奇石药物,冶炼之术及制毒用毒之术独步天下,真实姓名与来历无人知晓,只因总是身着一袭紫衣,所以众人以“紫女”称之。与公子韩非共同创建了“流沙”组织。 题目描述 为了能够获取更多的韩国内部消息,紫女决定
阅读全文
摘要:分析:一道比较难的爆搜题.首先要把9个块的信息存下来,记录每个块上下左右位置的颜色,然后记录每一排每一列能否操作,之后就是bfs了。在bfs的时候用一个数记录状态,第i位表示原来的第i个块现在在哪个位置,我们可以通过这个状态来解码得到信息,也可以来判重,只是数组开不下,需要用一个map。然后就是如何
阅读全文
摘要:题目背景 一切就绪 但愿,这样就好 自那之后的五年—— 作为封印持续增大的结果,在我体内积蓄了庞大的光精灵的力量 在幻灯结界里觉醒过来的我,和从封印解放出的德米奥格,就如同字面意思所述的,获得了等同于神的力量 德米奥格的眼睛能通过他人的认知,洞悉过去—— 我窥视者它们 之后,我醒悟到了一切事实 我应
阅读全文
摘要:题目描述江爷爷给你出了一道题:给你一个图,保证每个点最多属于一个简单环,每个点度数最多为3,求这个图有多少“眼镜图形个数”保证图联通哦~其中“眼镜图形个数”,定义为三元组(x,y,S),其中x和y表示图上的两个点,S表示一条x到y的简单路径,而且必须满足:1.x和y分别在两个不同的简单环上2.x所在
阅读全文
摘要:题目背景 圣乔治:不用拘泥,剩下的时间已不多…… 圣乔治:直呼我的真名—— 丝佩碧雅:圣乔治大人 圣乔治:如今,已无法维持结界,或是抑制深渊的前进 圣乔治:既然如此,我将献上这副身躯,期望最后的战斗 圣乔治:已经——应该没有再和我多需说明的话语了 圣乔治:我也明白,我和其他4人都一样,是没有内在的傀
阅读全文
摘要:题目背景 下发压缩包链接: https://pan.baidu.com/s/1geC4ooz 密码: 3vpt(同T1) 正在想这么说的时候—— 突然涌出一种强烈的晕眩感。 这是,什么……? 眼花吗?不对…… 由佳也失去平衡快摔倒了。 连平常的呼吸都难以保持。 这时——空间更大幅度的扭曲了。 这种感
阅读全文
摘要:题目描述59式给你出了一道**题:有n个防御人(守方)还有n个攻击坦克(攻方)每个防御人有护甲a[i],而攻击方每个坦克有火力b[i]如果一个防守方的护甲不小于攻击方的攻击力,就可以防的住然而我们保持了最大限度的克制,所以每个攻击方的攻击力都减去了t而且防守方有zcy所以你有x次机会加强一个人的护甲
阅读全文
摘要:题目背景 下发压缩包链接: https://pan.baidu.com/s/1geC4ooz 密码: 3vpt 所有的一切———所有的一切都被染成了红与黑。 翻卷的红莲烈焰舔舐着大地,释放出异抽的黑烟突破天际,红色的死亡与黑色的阴霾正将所有的一切掩埋殆尽…… 对于这个世界来说就根本不存在什么救赎。
阅读全文
摘要:题目背景 数据已修改 SOL君(炉石主播)和SOL菌(完美信息教室讲师)是好朋友。 题目描述 SOL君很喜欢阶乘。而SOL菌很喜欢研究进制。 这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘。 SOL菌表示不服,立刻就要算这个数在k进制表示下末尾0的个数。 但是SOL菌太菜了于是请你帮忙。 输入输
阅读全文
摘要:题面有误!10,11,12操作类别为A,13,14,15类别为B,16,17,18类别为C. 分析:一道大暴力,每次记录一下走了多少步,上一步操作类别是啥就可以了.最后只需要写6种操作,每一次操作进行4次就还原了,所以不用memcpy再来转.
阅读全文
摘要:分析:比较巧妙的一道题.经典的LCS算法复杂度是O(nm)的,理论上没有比这个复杂度更低的算法,除非题目有一些限制.这道题中两个字符串的长度不一样,f[i][j]如果表示第一个串前i个,第二个串前j个的最长公共子序列的话,复杂度会爆.但是LCS的长度很小,能不能换一种状态的表示方法呢? 回想0/1背
阅读全文
摘要:分析:题目非常短,看起来非常难,其实把图一画就明白了.有向图,每个点的出度都是1,那么整个图肯定是环上套链,链上的边无论怎样反向都不会形成环,环上的边也可以随便反向,但是最终不能反为同向的,总方案数减去反成同向的就是答案了.总方案数可以用乘法原理求出来.
阅读全文
摘要:分析:一道比较让人头疼的数学题. 先考虑怎么让分出来的三角形相似,先不考虑每个三角形的具体边长,设每个三角形的周长为li,则可知必然有一个数g = gcd{li},每一个三角形的周长都是g的倍数,这样就会有n/g个单位三角形,我们只需要把n/g分配给若干个三角形就可以了,利用隔板法,可以算出方案数为
阅读全文
摘要:分析:比较复杂的一题. 首先要求k个mod m互不相同且和为n的数ai,我们可以转化为求和为k个bi,并且(Σbi) % m = n % m 其中bi=ai % m,接下来可以用dp求出选了i个b,和为j的方案数.用f[i][j]表示状态.但是这样可能会让bi重复,一个解决办法是再加上一维,不过这是
阅读全文
摘要:分析:一眼树形dp题,就是不会写QAQ.树形dp嘛,定义状态肯定有一维是以i为根的子树,其实这道题只需要这一维就可以了.设f[i]为以i为根的子树中的权值和.先处理子树内部的情况,用一个数组son[i]表示以i为根的子树中,i能走到的节点个数,可以利用son数组和当前点的权值来更新f数组. 处理了每
阅读全文
摘要:分析:这道题比较有难度. 观察题目,发现只有当一行翻了奇数次后才会产生黑色格子,设有x行被翻了奇数次,y列被翻了偶数次,那么x*m + y*n - 2*x*y = s,接下来就要解方程了.对于二元一次方程,先枚举其中一个未知数x,就能推得y = (s - x*m)/(n - 2*x).假设翻了奇数次
阅读全文
摘要:分析:感觉和dp的状态转移方式有点类似,对于一个数,你不能看有多少个状态能转移到它,你要看它能转移到多少个状态,相当于刷表法和填表法的区别,对于这道题也是一样,我们不能看有多少个数是x的倍数,而是每次将x的因数ans++,然后询问直接输出就可以了.
阅读全文
摘要:分析:如果题目中没有环的话就是一道裸的最长路的题目,一旦有环每个城市就会被救多次火了。把有向有环图变成有向无环图只需要tarjan一边就可以了.
阅读全文
摘要:题目描述有一天,你实验室的老板给你布置的这样一个实验。首先他拿出了两个长度为 n 的数列 a 和 b,其中每个 ai 以二进制表示一个集合。例如数字 5 = (101)2 表示集合 f1; 3g。第 i 次实验会准备一个小盒子,里面装着集合 ai 所有非空子集的纸条。老板要求你从中摸出一张纸条,如果
阅读全文
摘要:题目描述小 G 进入了一个神奇的世界,在这个世界,天上会掉下一些馅饼。今天,天上会随机掉下 k 个馅饼。每次天上掉下馅饼,小 G 可以选择吃或者不吃(必须在下一个馅饼掉下来之前作出选择,并且现在决定不吃的话以后也不能吃)。馅饼有 n 种不同的馅,根据物理定律,天上掉下这 n 种馅饼的概率相同且相互独
阅读全文
摘要:题目描述 现在,我的手上有 n 个数字,分别是 a1; a2; a3; :::; an。我现在需要删除其中的 k 个数字。当然我不希望随随便便删除,我希望删除 k个数字之后,剩下的 n - k 个数中有最多的不同的数。输入格式第一行两个正整数 n 和 k,含义如题目描述。接下来一行,有 n 个非负整
阅读全文
摘要:3.棋盘迷宫(boardgame.pas/c/cpp)(boardgame.in/out)时间限制:5s/空间限制:256M【题目描述】小 A 和小 Z 是非常要好的朋友, 而且他们都对迷宫游戏非常有兴趣。 他们经常在自习课上用迷宫来打发时间(两位都是学习效率 400%的 dalao, 大家切记不要
阅读全文
摘要:分析:简化一下题意就是给任意两对点连一条权值为0的边,求出每次连边后最小生成树的权值和*2/(n - 1) * n. 每次求最小生成树肯定会爆炸,其实每次加边只是会对最小生成树上的一条边有影响,也就是加入这条边权为0的边后形成的环上权值最大的边,我们可以每次在树上倍增找到这条边,可以通过60%的点.
阅读全文
摘要:分析:直接O(n^3)做是只有50分的,可以加一点小小的优化,就是c[k]可以从c[k-1]得到,但是还是只有60分,从宏观意义上是不能继续优化了。对于这类涉及到位运算的性质的题目,将每个数转化成二进制,两个数第i位异或值为1当且仅当两个数上这一位不同,我们只需要记录每一位上有多少个a为1,有多少个
阅读全文
摘要:分析:显然是一道数位dp题,不过需要一些奇怪的姿势.常规的数位dp能统计出一个区间内满足条件的数的个数,可是我们要求第k个,怎么办呢?转化为经典的二分问题,我们二分当前数的大小,看它是第几大的,就可以了. 显然数位dp套上模板,再用上kmp的next数组就可以了,传递4个参数:还剩下多少位没有匹配,
阅读全文
摘要:分析:看到最小值最大就很显然是二分了吧,二分一下最小值,把小于它的数给删掉,然后看每个数向左边能延伸多长,往右边能延伸多长,最后统计一下有没有可行答案就可以了.
阅读全文
摘要:分析:不用删数字,我们考虑加入数字,维护一个栈,把不是4和7的数加进去,遇到3看栈顶是不是1,是的话弹出来就可以了.
阅读全文
摘要:分析:大模拟,没什么好说的.我在考场上犯了一个超级低级的错误:while (scanf("%s",s + 1)),导致了死循环,血的教训啊,以后要记住了.
阅读全文
摘要:分析:比较神奇的一道题.要把树变成环肯定要先变成链,然后把链给拼接成环.接下来考虑一个脑洞大开的树形dp:设f[i][0]表示i不与父节点相连的链数,f[i][1]表示i与父节点相连的链数,先考虑怎么转移f[i][0],如果i不与父节点相连,那么i肯定与两个子节点相连,其它的子节点都不与父节点相连,
阅读全文
摘要:分析:其实就是一道数学题.如果以左下角的点为原点建立平面直角坐标系,那么点(b,a)是最容易卡住棺材的.我们求出棺材左边到点(b,a)的距离最小值,只有w小于等于这个最小值才能被拉过去.那么先求出左面这条直线的函数解析式,利用点到直线的距离公式,可以求得距离.不过因为有两个未知数,我们需要枚举其中一
阅读全文
摘要:分析:很水的一道题,就是用栈来看看是不是匹配就好了,只是最后没有判断栈是否为空而WA了一个点,以后做题要注意了.
阅读全文
摘要:分析:一开始拿到这道题真的是无从下手,暴力都很难打出来.但是基本的方向还是要有的,题目问的是方案数,dp不行就考虑数学方法.接下来比较难想.其实对于每一行或者每一列,我们任意打乱顺序其实对答案是没有影响的.那么我们按照高度从大到小对行和列进行排序,单独考虑所有高度相等的行和列,组成了一个L形,如果我
阅读全文
摘要:【问题描述】你是能看到第一题的friends呢。——hja 怎么快速记单词呢?也许把单词分类再记单词是个不错的选择。何大爷给出了一种分单词的方法,何大爷认为两个单词是同一类的当这两个单词的各个字母的个数是一样的,如dog和god。现在何大爷给了你 个单词,问这里总共有多少类单词。【输入格式】第一行一
阅读全文
摘要:题目描述LYK最近在研究逆序对。这个问题是这样的。一开始LYK有一个2^n长度的数组ai。LYK有Q次操作,每次操作都有一个参数k。表示每连续2^k长度作为一个小组。假设n=4,k=2,则a[1],a[2],a[3],a[4]为一个小组,a[5],a[6],a[7],a[8]为一个小组,a[9],a
阅读全文
摘要:题目描述总共有n颗糖果,有3个小朋友分别叫做L,Y,K。每个小朋友想拿到至少k颗糖果,但这三个小朋友有一个共同的特点:对3反感。也就是说,如果某个小朋友拿到3颗,13颗,31颗,333颗这样数量的糖果,他就会不开心。(也即它拿到的糖果数量不包含有一位是3)LYK掌管着这n颗糖果,它想问你有多少种合理
阅读全文
摘要:题目描述一个神秘的村庄里有4家美食店。这四家店分别有A,B,C,D种不同的美食。LYK想在每一家店都吃其中一种美食。每种美食需要吃的时间可能是不一样的。现在给定第1家店A种不同的美食所需要吃的时间a1,a2,…,aA。 给定第2家店B种不同的美食所需要吃的时间b1,b2,…,bB。以及c和d。LYK
阅读全文
摘要:题目描述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
阅读全文
摘要:题目描述LYK拥有一个十进制的数N。它赋予了N一个新的意义:不考虑N的符号,将N每一位都拆开来后再加起来就是N所拥有的价值。例如数字123拥有6的价值,数字999拥有27的价值,数字-233拥有8的价值。假设数字N的价值是K,LYK想找到一个价值是K+1的数字,当然这个答案实在太多了,LYK想使得这
阅读全文
摘要:题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成。并且这是一张带权图,只有点权。 LYK想把这个图删干净,它的方法是这样的。每次选择一个点,将它删掉,但删这个点是需要代价的。假设与这个点相连的还没被删掉的点是u1,u2,…,uk。LYK将会增加a[u1],a[u2],…,a[
阅读全文
摘要:2530: [Poi2011]Party Description Byteasar intends to throw up a party. Naturally, he would like it to be a success. Furthermore, Byteasar is quite cer
阅读全文
摘要:题目描述 LYK最近在研究位运算,它研究的主要有两个:or和xor。(C语言中对于|和^) 为了更好的了解这两个运算符,LYK找来了一个2^n长度的数组。它第一次先对所有相邻两个数执行or操作,得到一个2^(n-1)长度的数组。也就是说,如果一开始时a[1],a[2],…,a[2^n],执行完第一次
阅读全文
摘要:题目描述 假设这是一个二次元。LYK召集了n个小伙伴一起来拍照。他们分别有自己的身高Hi和宽度Wi。为了放下这个照片并且每个小伙伴都完整的露出来,必须需要一个宽度为ΣWi,长度为max{Hi}的相框。(因为不能叠罗汉)。LYK为了节省相框的空间,它有了绝妙的idea,让部分人躺着!一个人躺着相当于是
阅读全文
摘要:题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成。并且这是一张带权图,不仅有边权还有点权。 LYK给出了一个子图的定义,一张图G’={V’,E’}被称作G的子图,当且仅当 ·G’的点集V’包含于G的点集V。 ·对于E中的任意两个点a,b∈V’,当(a,b)∈E时,(a,b)一
阅读全文
摘要:题目描述 LYK喜欢听音乐,总共有n首音乐,有m个时刻,每个时刻LYK会听其中一首音乐,第i个时刻会听第ai首音乐。它给自己定了一个规定,就是从听音乐开始,听的每连续n首音乐都是互不相同的。例如当n=3时,从听歌开始,123321就是一个合法的顺序(此时LYK听了两轮歌,分别是123和321,每一轮
阅读全文
摘要:题目描述众所周知的是,火柴棒可以拼成各种各样的数字。具体可以看下图: 通过2根火柴棒可以拼出数字“1”,通过5根火柴棒可以拼出数字“2”,以此类推。 现在LYK拥有k根火柴棒,它想将这k根火柴棒恰好用完,并且想知道能拼出的最小和最大的数分别是多少。 输入格式(stick.in) 一个数k。 输出格式
阅读全文
摘要:题目描述LYK拥有一个十进制的数N。它赋予了N一个新的意义:将N每一位都拆开来后再加起来就是N所拥有的价值。例如数字123拥有6的价值,数字999拥有27的价值。假设数字N的价值是K,LYK想找到一个价值是K-1的数字,当然这个答案实在太多了,LYK想使得这个价值为K-1的数字尽可能大。 输入格式(
阅读全文
摘要:分析:考虑记录每个坐标上每个颜色出现了几次,并由此算出每个颜色在这个坐标上的贡献。答案肯定是原图的答案扣去矩形的答案,再加上那个矩形同种颜色的贡献,这里的答案指的是Σdis.我们先要记录每个颜色在各个位置出现的次数,因为每一次都是区间操作嘛,所以我们用二维差分可以很好地维护,前缀和求出出现的次数.
阅读全文