摘要: 题目大意: 有一个背包,里面的东西需要满足两个条件,不只是体积 求最多能装多少东西,这些东西的东西最小价值 思路: 双重背包 开两个数组,记录装的东西数量和价值 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include< 阅读全文
posted @ 2017-10-20 20:34 jack_yyc 阅读(121) 评论(0) 推荐(0) 编辑
摘要: T1: 小喵喵有 n 个小鱼干排成一列,其中第 i个小鱼干有两种属性,美味度 ai 和特殊度 bi 现在小喵喵要吃掉一些小鱼干,出于一些原因,小喵喵会吃掉连续的一段区间中的所有小鱼干。 如果吃掉了 [l,r]一段区间,那么小喵喵会获得一些满意度。 形式化地,总满意度 =(ai,l<=i<=r)×(1 阅读全文
posted @ 2017-10-20 20:28 jack_yyc 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 第一次160太不像话了 第二题蛇皮错误并查集f[x]=find(f[x])写错了 改完之后250 mmp T1: 环形消灭虫子 思路: 首先可以想到枚举起点然后dp消灭虫子 复杂度n2 然后我想到了一个蛇皮优化 因为取到的点是不可能连在一起的 所以我们的枚举有很多是重复的 只需要枚举相邻的任意两个点 阅读全文
posted @ 2017-10-18 20:05 jack_yyc 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一个数列,取出一些数使得它们的总和最大且没有k个连续 思路: 首先我们可以找到一个nk的dp dp方程:dp[i]=dp[j-1]+sum[i]-sum[j] (sum[j]尽量小) 然后我们可以使用单调队列(单减)优化掉k即简化掉求最小值的一步 1 #include<iostream> 阅读全文
posted @ 2017-10-18 17:21 jack_yyc 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有一个n*n的矩阵 从每行里选出一个数,有nn种选法,求所有选法中选出数和的最小的n种(重复的算多次) 思路: 首先我们可以知道若已知前两行的最优n种选法 则选完第三行,最优n种选法还是由着n种加上第三行的某个数 这样我们就可以使用一个数组来记录前几行的最优n种选法 然后对于每个要选的行 阅读全文
posted @ 2017-10-17 19:21 jack_yyc 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有一些灯,有些开关可以控制这些灯,给出矩阵表示控制 对于矩阵中的a i j 表示第i个开关控制第j个灯的情况 若元素为1 表示当灯开着的时候,关掉灯 若元素为0 表示无操作 若元素为-1 表示当灯关着的时候,打开灯 思路: 因为灯的数量很小 我们可以将所有灯的状态用二进制来表示 然后我们 阅读全文
posted @ 2017-10-17 15:47 jack_yyc 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有一些数对,每个数对的得分为它之前所有数对的左侧数之乘积除以它的右侧数 求重新排列后数列中所有数对中最大得分尽可能小(第一个数对不参与排序,仍然为第一个) 思路: 非常简单,可以根据它对后面的影响排序 即若a i.l/a j.r < a j.l/a i.r则a i在a j前 则a i.l 阅读全文
posted @ 2017-10-16 21:30 jack_yyc 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 他们需要购买装备来提升自己的力量值,每件装备都可以使佩戴它的英雄的力量值提高固定的点数,所以英雄的力量值等于它购买的所有装备的力量值之和。装备分为基本装备和高级装备两种。基本装备可以直接从商店里面用金币购买,而高级装备需要用基本装备或者较低级的高级装备来合成,合成不需要附加的金币。装备的 阅读全文
posted @ 2017-10-16 16:51 jack_yyc 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 每次从一个有x种颜色巧克力的包里拿出一个巧克力,拿出每种不同颜色的巧克力的概率相同 若包外面有两个颜色相同的巧克力,则吃掉这两个巧克力 求n次操作后桌上有m个巧克力的概率 思路: 概率dp dp i j表示i次操作后有j个巧克力的概率 则有两种转移,就是之前有j+1个然后取出来一个,有一 阅读全文
posted @ 2017-10-12 21:22 jack_yyc 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 把noip均分纸牌变成了环 思路: 基本与均分纸牌相同 但是需要考虑的是起点的选择 首先我们可以设i个人开始有ai个糖 然后设第i个人给前一个人的糖果数为gi 则a[i]-g[i]+g[i+1]=avg;avg为最终每个人的糖果数即平均值 得到最终答案为所有abs(g[i]) 设p数组表 阅读全文
posted @ 2017-10-12 19:10 jack_yyc 阅读(180) 评论(0) 推荐(0) 编辑