上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 题意: 给出n个数,问做多可以找到多少对数字A,B,使得A xor B > max(A,B)。 思路: 感谢mzjj教本弱智。 对于一个数,只考虑小于它的数字。 假设对于一个数字x 11001001,对于从最高位开始的连续的1,满足条件的数y的这位一定不能为1,从碰到的第一位0开始:这一位就可以是1 阅读全文
posted @ 2018-05-07 01:39 qrfkickit 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题意: 求一个数组的所有连续子串中不同的数字的和。 思路: 考虑每一个数字对于最终结果的贡献。 假设dp[i]表示以a[i]结尾的串的和,那么有dp[i] = dp[i-1] + a[i] * k。 这里的k,如果当前的a[i]没有在前面出现过,那么对结果的贡献肯定是k = i次,因为以它结尾的字串 阅读全文
posted @ 2018-05-06 22:29 qrfkickit 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出n个点,m条边,将若干个点染色,使得每个边至少有一点染色,问至少染多少个点。 思路: 如果是二分图,那就是最小点覆盖,但是这是一般图。 一般图的最小覆盖是npc问题,但是这题有一个条件比较特殊,就是输入的每条边都保证了至少有一个点小于等于30,所以至多覆盖30个点就可以了。 那么就可以用 阅读全文
posted @ 2018-05-06 02:05 qrfkickit 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题意: 有4堆糖,每堆有n个,每次从某一堆的堆顶拿一个放进篮子里,如果篮子里有2个颜色相同的糖果,那么就可以放进袋子里。 当篮子里有5个糖果并且没有相同颜色的糖果时,这个时候就不能再拿了。 问最多可以拿多少对颜色相同的糖果。 思路: 记忆化搜索。 设dp[x][y][z][w]表示第一堆拿走了x个, 阅读全文
posted @ 2018-05-05 23:14 qrfkickit 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个数组,计算所有对于1 <= i < j <= n,ai + aj的进位次数的总和。 思路: 一开始其实是卡在了,i只能与i之后的数字相加 == 。 转换一下,i之前的数字一定会与i相加,i之后的数字也一定会与i相加,所以对于数组中的所有数字,两两之间一定会加一次。 有个很显然的结论, 阅读全文
posted @ 2018-05-05 18:33 qrfkickit 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个仓库,m个人,一个仓库只能由一个人托管,每个人可以托管多个仓库。 每个人有一个能力值a,如果说他托管了k个仓库,那么这些仓库的安全值都是a/k。 雇佣一个人的花费也是a。 如果一个仓库没有被人托管,那么这个仓库的安全值为0。 总安全值定义为所有仓库安全值的最小值。 现在给出人和仓库的信 阅读全文
posted @ 2018-05-05 01:12 qrfkickit 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个数,m个排序器,每个排序器可以把区间ai到bi的数从小到大排序。这m个排序器的输出就是m个排序之后的第n个数。 现在发现有些排序器是多余的。问至少需要多少个排序器可以使得输出不变。排序器的顺序不可以改变。 思路: 这题并没有说这些排序器可以覆盖1到n的所有区间。。。 假设可以,那么就是 阅读全文
posted @ 2018-05-04 22:21 qrfkickit 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出n和k,求出长度为n的不包含长度大于等于k的回文串的01字符串的个数。 思路: 如果一个字符串包含长度为k的回文串,那么它肯定包含长度为k-1的回文串,所以考虑第i位的时候,只要前缀中不包含长度为k的回文串,就只需要考虑这一位使其满足条件,所以就可以进行递推dp了。 设dp[i][j]为 阅读全文
posted @ 2018-05-04 00:43 qrfkickit 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个人要从如果干个地方拿货,每个地方的货物是有存在时间的,到了某个时间之后就会消失。 按照位置从左到右给出货物的位置以及生存时间,这个人选择一个最优的位置出发,问拿完货物的最少时间。 思路: 首先确定最优位置就是生存时间最少的货物的位置。 区间dp,dp[i][j][0]和dp[i][j][ 阅读全文
posted @ 2018-05-02 23:35 qrfkickit 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一个单行道,两个方向都有车在等待。给出每个车的方向以及到达的时间以及走完这段路所需要的时间。 为了防止车祸,同向两车通过任一点的时间间隔不得小于10s。 求最后一辆车离开时刻的最小值。 思路: 这题最坑的就是,车可以降低速度。provided it is not slowed down b 阅读全文
posted @ 2018-05-02 21:34 qrfkickit 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个巫师站成一列,每个巫师有自己的血量。 一个人射箭攻击他们,每次造成若干点伤害,巫师按照给定的顺序承受伤害,如果伤害大了,那么死掉,伤害落到下一个巫师身上。 如果一轮攻击之后,所有的巫师都死了,那么他们会立即复活。 给出若干个询问,问每轮攻击之后还剩多少巫师活着。 思路: 前缀和加二分, 阅读全文
posted @ 2018-05-02 02:07 qrfkickit 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个游戏,有14个洞,每个洞中开始有若干个球或者没有球。 每一步的操作,是将一个洞中的所有球取出,再逆时针放一个球到它的后一个洞,后两个洞,后三个洞。。。。如果当前放的是最后一个,那么下一个又是第一个,即是可循环的。 一步操作之后的的分数是所有的有偶数个球的洞的球的个数的总和。 问一步操作之 阅读全文
posted @ 2018-05-02 02:01 qrfkickit 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个矩阵,找出这个矩阵中严格最长下降序列的长度,可以从上下左右四个方向下降。 思路: 记忆化搜索一遍即可。 代码: 阅读全文
posted @ 2018-05-01 21:54 qrfkickit 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题意: n个城市,m条双向路径。 从a城市到b城市,有两种付费方法: 1.在c城市预先付费,前提是已经到达了c城市; 2.到了b城市之后,在b付费。 给出路径以及付费信息,求出从1到n的最少花费,或判断从1无法到达n。 思路: 状态压缩dp,每次更新的时候,更新两次,第一次更新未到达的城市,第二次更 阅读全文
posted @ 2018-04-17 14:45 qrfkickit 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题意: 定义一个最优哈密顿回路如果把如下描述的值最大化: 有n个城市。一个哈密顿回路C1C2..Cn的值由3个部分组成: 1.这个路径上每个岛的值Vi之和; 2.这个路径上每条边Vi*Vi+1之和; 3.如果路径上连续的三个岛屿CiCi+1Ci+2之间两两互相连通,那么就加上Vi*Vi+1*Vi+2 阅读全文
posted @ 2018-04-17 00:48 qrfkickit 阅读(154) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页