Codeforces-417D总结&题解】的更多相关文章

题目链接:Codeforces 417D Cunning Gena 题目大意:n个小伙伴.m道题目,每一个监视器b花费,给出n个小伙伴的佣金,所须要的监视器数,以及能够完毕的题目序号. 注意,这里仅仅要你拥有的监视器数量大于小伙伴须要的监视器数量就可以. 求最少花费多少金额能够解决全部问题. 解题思路:dp[i],i为一个二进制数.表示完毕这些题目的最小代价,可是这里要注意,由于有个监视器的数量.普通情况下要开一个二维的状态.可是2^20次方有一百万,再多一维的数组会超内存,所以我的做法是将每一…
Codeforces Round #556 题解 Div.2 A Stock Arbitraging 傻逼题 Div.2 B Tiling Challenge 傻逼题 Div.1 A Prefix Sum Primes 傻逼题,先放2,1然后放完2然后放完1 Div.1 B Three Religions 有三个字符串\(s_1,s_2,s_3\)和一个主串\(s\),每次操作改变一个\(s_i\)(插入或删除字符),每次操作完之后问\(s\)是否可以分成\(3\)个子序列正好是\(s_1,s_…
Cunning Gena CodeForces - 417D 题意 先将小伙伴按需要的监视器数量排序.然后ans[i][j]表示前i个小伙伴完成j集合内题目所需最少钱.那么按顺序枚举小伙伴,用ans[i-1][j]更新ans[i][j]和ans[i][j | 第i个小伙伴能完成题目的集合](更新后一种时答案要加上第i个小伙伴的费用). 由于小伙伴已经按监视器数量排序了,对于每个枚举出的小伙伴i,可以试着将其作为最后一个要求助的小伙伴,那么此时监视器上花的钱就是这个小伙伴所需监视器数量*每个的费用…
Codeforces Round #569 题解 CF1179A Valeriy and Deque 有一个双端队列,每次取队首两个值,将较小值移动到队尾,较大值位置不变.多组询问求第\(m\)次操作时队首两个数. 显然\(O(n)\)次以内队首变成了最大值,之后就循环了,暴力前\(O(n)\)个操作的答案即可 https://codeforces.com/contest/1179/submission/55878330 CF1179B Tolik and His Uncle 有一个\(n*m\…
Codeforces Round #557 题解 掉分快乐 CF1161A Hide and Seek Alice和Bob在玩捉♂迷♂藏,有\(n\)个格子,Bob会检查\(k\)次,第\(i\)次检查第\(x_i\)个格子,如果Alice在这个格子就输了.Alice一开始会在一个格子,可以在Bob检查过一次后向一个相邻的格子移动(整局游戏只能用一次).求Alice有多少种方案赢. 两个方案相同当且仅当Bob检查之前Alice的位置和Bob做完所有检查之后Alice的位置都相同. cao,sb阅…
CFEducational Codeforces Round 66题解报告 感觉丧失了唯一一次能在CF上超过wqy的机会QAQ A 不管 B 不能直接累计乘法打\(tag\),要直接跳 C 考虑二分第\(k\)小的值 那么问题就变成了 每一个数变成了\([x-mid,x+mid]\)的一段区间,如果有一个位置被覆盖了超过\(k\)次 那么\(mid\)一定合法 类似括号匹配 每次碰到左端点就贡献+1 右端点就统计答案然后-1 维护答案的同时顺便维护位置就好了 #include<cstdio>…
Bayan 2015 Contest Warm Up http://codeforces.com/contest/475 A - Bayan Bus B - Strongly Connected City C - Kamal-ol-molk's Painting A. Bayan Bus 题意:输入人数k,输出一辆公交车!优先坐最后,同一排优先坐左边. 题解:暴力找地方坐啊! //#pragma comment(linker, "/STACK:102400000,102400000")…
Codeforces Round #542 abstract I决策中的独立性, II联通块染色板子 IIIVoronoi diagram O(N^2 logN) VI环上距离分类讨论加取模,最值中的决定性元素 V代数构造 B 题意 2n个数排成一行,1..n各出现两次,两个人分别从1按顺序走到n(每个数只能被一个人路过),问他们两个人的距离和的最小值(两个数之间的距离等于他们位置(下标)值差)? 题解 将每个数的两个位置用pair存起来(eg : pos[1].x , pos[1].y). 首…
[题目链接]:http://codeforces.com/problemset/problem/417/D [题意] 有n个人共同完成m个任务; 每个人有可以完成的任务集(不一定所有任务都能完成); (有重叠也无所谓); 然后它完成这些任务需要报酬xi; 同时它需要特殊物品的数量达到ki才会愿意去做这些任务; 这样特殊物品的单价为b; 然后问你完成这m个任务需要花费多少钱. [题解] 假设我们最后选了几个人; 它们能够完成m项任务; 则这个特殊物品的数量应该是这些人里面ki的最大值; 根据这个;…
这题实在是太水了,具体看注释 蒟蒻的方法是一边找过时的电脑一边比大小 蒟蒻不才,只会C++ 其实还会free basic,但它已经过时了 附: 本题洛谷网址 Codeforces网址 希望蒟蒻的题解能对看官有帮助 别忘记点赞+关注,谢谢! Code: (C++) #include <bits/stdc++.h> using namespace std; ; int c[N],s[N],r[N],h[N]; int main() { int n; cin>>n; ,ans; ;i&l…