上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 题意: 有一个猎人和n匹狼 每个狼有一个自己的攻击力a[i] 每一个狼还有一个buff 可以给旁边的狼加b[i]攻击力 如果这匹狼被消灭了 那么这个buff也就不存在了 猎人每消灭一个狼会受到等同于攻击力的伤害 问猎人消灭所有的狼能受到的最少伤害 思路: 经典区间dp 如果我们要消灭第[l,r]区间 阅读全文
posted @ 2017-07-26 18:18 良将ℓ 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #define cl(a,b) memset(a,b,sizeof(a)) 3 using namespace std; 4 5 const int maxn=5e4+10; 6 7 int star[maxn],d[maxn]; 8 double d2[maxn]; 9 10 int main() 11 { 12 int T; ... 阅读全文
posted @ 2017-07-24 18:59 良将ℓ 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题意: 给了你9种图片 问给的图片能不能由这九种构成 思路: 拓扑排序 对能存在的点连边 如果不存在环的话 这个图就成立 否则不成立 阅读全文
posted @ 2017-07-24 11:41 良将ℓ 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 中文题意就不解释了 思路嘛 就是暴力 不过是用stl暴力 描述一遍题意就行了 其他的交给multiset去操作 其中还有一个小的知识点 反向迭代器和普通迭代器是不能相互转化的 要用base()方法获取相应迭代器再进行赋值操作 阅读全文
posted @ 2017-07-23 15:50 良将ℓ 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一串括号 问你有多少种匹配的子串 就是前半部分都是'(' 后半部分都是')'的子串 思路: 首先我们预处理 当前位置之前有多少左括号 和 当前位置之后有多少右括号 对于每一个处于i位置的左括号 我们将ans+=C(left[i]+right[i]-1,right[i]-1) 这个式子是C 阅读全文
posted @ 2017-07-23 14:38 良将ℓ 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一个矩阵 有两种操作: 1 这一行每个都加一 2 这一列每个都加一 问你怎么用最少的步数从都是0的矩阵变到给的矩阵 思路: 输出的时候记录一下sum 用来验证是否成立 因为要最少的 所以先可行或列小的来变 每一次找这一行或一列最小的 然后加上到相应的队列中 然后sum减去对应的值 如果最 阅读全文
posted @ 2017-07-20 20:59 良将ℓ 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题意: 教师有n行m列 一个老师点名 她会点k次 这个人坐在x行y列的位置 点名方法是从1~n 再从n-1~1 问 被点名次数最多的人被点了多少次 被点名次数最少的人被点了多少次 这个人被点了多少次 思路: 我们将从 1~n 再从 n-1~2 设为一个周期 这样每次新开始点第一排都意味着一个周期的开 阅读全文
posted @ 2017-07-20 20:58 良将ℓ 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题意很明显不解释 做法就是直接模拟 有一个坑的地方就是中间值会爆ll WA50 阅读全文
posted @ 2017-07-19 19:04 良将ℓ 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 题意: (一开始题意没读懂 样例都看不懂 给你n个数 让你选出一些区间 让这些区间的表示的值和最大 每个区间表示的值就是区间内每个不重复的数的异或和 我们选出的区间可以不覆盖整个数组 就像第二组样例 (接下来是重点 区间内出现过的数不能在其他区间出现 意思就是如果一个数在区间中出现过 那所有数就都要 阅读全文
posted @ 2017-07-19 11:30 良将ℓ 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题意: 给了你n个城市 m条边 k个政府 每个政府管辖的区域内不能和其他政府的区域有相连 即政府之间不存在路径 问你在维护这种关系的同时 最多再加多少条边 思路: 先找出来每个联通块 再找出来没有归属的孤立的点 把他们都放到最大的联通块里 然后每个联通块之间的点两两连边是n*(n-1)/2条边 最后 阅读全文
posted @ 2017-07-18 22:03 良将ℓ 阅读(223) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页