02 2018 档案
摘要:传送门 N个数,为1或2.由一次操作,对一段区间进行反转,然后求最长不下降子序列长度 emmm想的是如果反转区间可以使答案较原本序列更大,那么区间内对答案的贡献必然是一个1与2组成的序列。总共反转的区间有n^2个,那么如果我们对于每个反转序列,能够O(1)得求出贡献即可得到答案,因为区间前1的数目与
阅读全文
摘要:传送门 B从由两个数列中各挑出一个数相乘,他想让乘积最大化,A想让乘积最小化,他可以抹去一个数。求最终B得到的乘积 场上疯狂hack... 由于数据十分的小,我当时直接暴力求解A要抹去的数,然后再暴力求乘积即可。。。
阅读全文
摘要:传送门 N(1~2000)个数,每次操作可以将相邻两数的其中一个变为它们的最大公约数,求将所有数变为1所需的最少操作次数
阅读全文
摘要:传送门 N个数,代表得到2^(i-1)次幂的花费,求构造L的最小花费
阅读全文
摘要:传送门 N个数,允许将前连续任意个数变化为其相反数,也允许把后连续任意个数变为相反数,求最大和 令dp[i][0]前i个数操作后能得到的最大值,dp[i][1]出去前i-1个数操作后能得到的最大值 注意初始化,不然对于答案为无需操作的情况会出错
阅读全文
摘要:传送门 把n1个步兵和n2个骑兵派成一列,已知连续的步兵不超过k1个,连续的骑兵不超过k2个,求总可能排列情况数 定义dp[i][j][2],指使用i个步兵,j个骑兵的排列。0代表排头为步兵,1代表排头为骑兵
阅读全文
摘要:传送门 一个小写字母组成的字符串和允许更改次数k,n组序偶的价值,求能获得的最大价值 定义dp[k][l][i]位更改第k次时长度为l的串末尾为i时的最大收益。分原本字符串末尾就是i和不是两种去递推。 注意初始化问题。 1 #include <cstdio> 2 #include <cstring>
阅读全文
摘要:传送门 二分,正反都扫一遍不连续K个不符条件即可
阅读全文
摘要:传送门 N个数,每次操作可以将一个数增加(减小1),问使序列称为非升序列需要的最少操作数 首先明确操作后,序列中出现的数必然为原有序列中出现的数。那么我门复制一遍序列,然后排序,定义dp[i][j]为原序列前i个数不大于排序后序列第j位的最小花费。显然循环应是外层i,内层j,这样我们可以使用一维数组
阅读全文
摘要:链接 求最长公共上升子序列并打印 不过这题1 ≤ n ≤ 500,也可以用O(n3)的算法吧
阅读全文
摘要:传送门
阅读全文
摘要:传送门 T组数组,求对于每个数,有多少种表示成不同斐波那契数的和的方法。 e.g. 13=13=5+8=2+3+8 首先,每个数是肯定可以表示成斐波那契数类的和的,我们将数用01串表示,1代表取第i位斐波那契数。例如13表示成100000,4表示成101. 同时13也可以表示成11000。即一个1可
阅读全文
摘要:传送门 n数,从中选k个,使得它们乘积的后缀零最多 dp[i][j][k]表示(扫描前i个,从中选出j个,得到5的幂次为k)的2的幂次的值,类似背包问题
阅读全文
摘要:传送门 给n (2 ≤ n ≤ 100 000)个数,每次操作可以使相邻两数ai,aj变为分别ai-aj,ai+aj,求最少通过多少次操作,数列的最大公约数不为1 若d|(ai-aj)&&d|(ai+aj), 则d|[ai-aj)+(ai+aj)] && d|[(ai-aj)-(ai+aj)],即d
阅读全文
摘要:传送门 N题K人,给出N行K列数据,aij为1代表i题被第j个人所了解。求是否能找出一套题(在这N题中找任意题)使得每个人了解的题不超过这套题数目的一半。(1 ≤ n ≤ 105, 1 ≤ k ≤ 4) 需要先证明要么使用一道题,要么使用两道题,如果有解,那么答案有解,否则答案无解。(一道是特殊情况
阅读全文
摘要:传送门 n*m维矩阵,Q次询问,查询行数为[l,r]的矩阵内是否有某一列满足自上而下数据非减 其中1 ≤ n·m ≤ 100 000 对于某一行的任一列,记录其对应能满足数据非减的最小行(B[i][j]),进而得出每一行能满足条件的最小行(bst[i]),查询时判断bst[r]与l的关系即可 显然当
阅读全文
摘要:传送门 在不大于100*100的地图上有星星,每个星星的亮度随时间变化,它们初始亮度不同,但能达到的最高亮度相同,为C。初始亮度为p,t时刻亮度为(p+t)%(C+1) 输入 n q c(为别代表星星数目,查询次数,最高亮度) n行 x y s(星星的横纵坐标和初始亮度) q行 t x1 y1 x2
阅读全文

浙公网安备 33010602011771号