Codeforces Round #456 B题】的更多相关文章

一.题意 给你一个n和一个k,让你从[1, n]区间内选k个数,这k个数异或和最大. 二.思路 我一开始看到这种题,不自觉地就想到,莫非又要搞很复杂的线段树.主席树?貌似还有些难搞啊.然而事实是:Codeforces最不喜欢出的题目就模板题,相反,他的题更倾向于想法,看看你能不能想到,能不能考虑全.我个人觉得,这样的题做起来还更有意思. 事实是,这题的思路:选k个数,使异或和最大,那么,两种情况: (1)k = 1,那毫无疑问选最大的数,输出n: (2)k > 1,那就输出2i - 1.其中,i…
Codeforces Round #456 (Div. 2) A. Tricky Alchemy 题目描述:要制作三种球:黄.绿.蓝,一个黄球需要两个黄色水晶,一个绿球需要一个黄色水晶和一个蓝色水晶,一个蓝球需要三个蓝色水晶,现有\(A\)个黄色水晶和\(B\)个蓝色水晶,要制作\(x\)个黄球,\(y\)个绿球和\(z\)个蓝球,还需要多少个水晶? solution \(max(0, x*2+y-A)+max(0, z*3+y-B)\) 时间复杂度:$ O(1) $ B. New Year's…
B. New Year's Evetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputSince Grisha behaved well last year, at New Year's Eve he was visited by Ded Moroz who brought an enormous bag of gifts with him! Th…
题目链接:http://codeforces.com/contest/845 A. Chess Tourney 水题,排序之后判断第n个元素和n+1个元素是不是想等就可以了. #include <bits/stdc++.h> using namespace std; int a[210]; int n; int main() { scanf("%d", &n); for(int i=1; i<=2*n; i++) scanf("%d", &…
题目链接 http://codeforces.com/contest/1009 A. Game Shopping 直接模拟即可,用了一个队列来存储账单 #include <iostream> #include <algorithm> #include <queue> #include <stack> #define ll long long using namespace std; ; queue<int> bill; int c[MAX]; i…
传送门:http://codeforces.com/contest/912/problem/B B. New Year's Eve time limit per test1 second memory limit per test256 megabytes Problem Description Since Grisha behaved well last year, at New Year's Eve he was visited by Ded Moroz who brought an eno…
传送门:http://codeforces.com/contest/912/problem/A A. Tricky Alchemy time limit per test1 second memory limit per test256 megabytes Problem Description During the winter holidays, the demand for Christmas balls is exceptionally high. Since it's already…
题 OvO http://codeforces.com/contest/912/problem/E 解 首先把这个数字拆成个子集,各自生成所有大小1e18及以下的积 对于最坏情况,即如下数据 16 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 把她肢解成 2 3 5 7 11 13 和  17 19 23 29 31 37 41 43 47 53 两个集合 这两个集合生成的). 记两个集合大小的和为 |S| 两个集合生成的积各自排一下序 然后二分答案,对…
题: OvO http://codeforces.com/contest/912/problem/D 解: 枚举每一条鱼,每放一条鱼,必然放到最优的位置,而最优位置即使钓上的概率最大的位置,即最多的r*r矩形覆盖住的点 可以把这个鱼塘分为田字型4个相同的部分(可重叠), 取其中一个部分,显然最开始的最优位置是最靠近中心的位置, 维护一个优先队列,优先度为点出现在多少个r*r的矩形中, 每次从优先队列中取出一个点,则可以求出在其他部分上有多少不重叠的点和这个点对称,则可以同时进行计算. 枚举到k个…
这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #include <queue> #include <vector> usi…