04 2024 档案

摘要:题目描述 输入一张无向图,对于无向图的每条边u,v,w,将u和v转换成二进制后,u是v的前缀。 给出q次询问,每次输入s,t,求s到t的最短距离。 题解 从题目数据而言,n为1e5,m为2e5,显然一般的多源最短路算法无法完成。 考虑此题的特殊性质:由于边仅可能从u连向以u为前缀的v,那么若建立一颗 阅读全文
posted @ 2024-04-26 23:39 ZWZWW 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定两个数n,m,每次操作可以让n-1或者m+1,求使m%n==0的最少操作数量。 题解 设进行n-t次操作,使n变成t。 若m%t不为0,此时的操作数量为:n-t+t-m%t。 若m%t==0,操作数量为n-t。 那么只需要枚举t就可以解决此题。 但会发现t的范围从1-n过大,考虑将t的 阅读全文
posted @ 2024-04-25 23:08 ZWZWW 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目描述 有一份错误的字符串匹配算法,计算S串里有几个T串(只要有一个元素不同,则视为不同的串)。 现在输入T串,判断能否构造S串让该算法不通过。 int Find_Answer () { int j = 1 , ans = 0; for ( int i = 1; i <= n ; i ++) { 阅读全文
posted @ 2024-04-25 21:49 ZWZWW 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定n,k,c,w,然后输入n组数据,数据分为两种: 1 ai:可以选择获得aiw的价值,但w会变成w(1-0.01*k) 2 bi:可以选择损失biw的价值,但w会变成w(1+0.01*c) 求可获得的最大价值是多少。 题解 看到这个题,我的第一思路是求后缀和,然后让新得到的系数乘后缀和 阅读全文
posted @ 2024-04-19 21:22 ZWZWW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目分析 n行m列的砖块,起始有k发子弹。每次可以用一发子弹,打碎某一列当前处于这一列最下面的那块砖,并且得到相应的得分。 某些砖块打碎以后会获得一个砖块。 求最大得分。 题解 可以看出是一道动态规划题。 关键在于如何设计状态。 先考虑砖块打碎不会得到子弹的情况:这个时候可以将同一列的连续多个砖块看 阅读全文
posted @ 2024-04-18 15:35 ZWZWW 阅读(25) 评论(0) 推荐(0) 编辑
摘要:题目描述 对于一个由字母“j”和“z”组成的字符串,可以任意交换两个字符的位置不超过k次,求最多能出现多少个“jz”字串。 题解 动态规划题。 设f[i][j][k][0/1]表示到第i位,前面交换了j个“j”,交换了k个“z”,且第i位是j(用0表示)或z(用1表示)。 当j=k时即为可行解。 为 阅读全文
posted @ 2024-04-17 22:17 ZWZWW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目描述 求最长下降子序列长度,以及最长下降子序列的个数。 (构成的序列一样的时候,视为同一种最长下降子序列) 题解 n不超过5000,n^2复杂度即可解决该问题。 主要在于如何统计最长下降子序列个数。 可以设数组t[i]表示以i为结尾的最长下降子序列个数,在更新f[i]的时候顺便更新。 t[i]= 阅读全文
posted @ 2024-04-17 21:12 ZWZWW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目描述 有n只兔子,每个兔子上有一个数ai。要将所有兔子分为白色和绿色两堆,使所有白色兔子的数对绿色兔子取余结果相等。求绿色兔子的最大数量。 题解 考虑一种情况:把所有除了最小值的数都涂为绿色,此时显然满足条件。 对于一般情况:可以枚举白绿兔子的分割线x。 对于小于x,试将其全部涂为白色,计算x前 阅读全文
posted @ 2024-04-17 16:49 ZWZWW 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定n个字符串,有以下几种操作: 打出一个字符,花费1。 删除一个字符,花费1。 复制并打出一个之前打出过的字符串,花费k。 求打出所有n个字符串的最小花费。 (注意,打出顺序和字符串输入的顺序不必相同) 题解 显然,操作3需要算字符串的最长公共子序列来处理。 这个问题可以转换为最小生成树 阅读全文
posted @ 2024-04-15 22:01 ZWZWW 阅读(55) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定字符串T,要求求字符串S,满足以下条件: S是T的前缀 S和T运行某段代码的哈希值相同(代码见下) T只包含小写字母 S和T的长度差不超过50 哈希代码: //Language C++14 long long mod=5999993; long long gethas(string s 阅读全文
posted @ 2024-04-15 20:32 ZWZWW 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定一个包含n个整数的数组a。定义一个操作如下: 从数组a中选择k个整数,将它们删除,并将它们的和追加到数组末尾。 如果数组A比数组B(长度相同)字典序大,那么在A和B第一次不同的位置上,A的数字比B对应位置上的数字要大。例如,[0, 1, 14, 0]比[0, 1, 5, 6]字典序大, 阅读全文
posted @ 2024-04-12 22:18 ZWZWW 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题目描述 Cirno被推荐了一个游戏,她决定今天和大妖精一起玩。最初,有一个包含2 × n个顶点和m条边的图。在每一轮中,Cirno和大妖精都必须选择一个不同的顶点。所选顶点的度数必须相同。然后,Cirno和大妖精将从图中移除它们。 现在Cirno想知道是否有办法从给定的图中移除所有顶点。如果存在, 阅读全文
posted @ 2024-04-12 15:57 ZWZWW 阅读(28) 评论(0) 推荐(0) 编辑
摘要:题目描述 rqdmap和他的小女友正在玩一个游戏。有n个正整数。这两个人轮流取数字。为了显示他的绅士风度,rqdmap要求他的小女友先取数字。 每当rqdmap的小女友可以选择剩下的数字中的任意一个来拿走(记为x),rqdmap需要从剩下的数字中选择一个数字(记为y),并且满足以下两个条件中的至少一 阅读全文
posted @ 2024-04-11 20:14 ZWZWW 阅读(35) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示