Codeforces Round #517
A. Cram Time
你有一本书,阅读第\(i\)页需要花费\(i\)的时间.你第一天有\(a\)的时间,第二天有\(b\)的时间,问你的总阅读页数的最大值.
Input:
一行包含\(2\)个数 \(a\ , b\ (0 \leq a\ , b\ \leq 10^9)\) 表示Lesha第一天的时间和第二天的时间.
Output:
输出第一行包含一个整数\(n\ (0 \leq n \leq a)\) 表示第一天的阅读数.第二行\(n\)个整数 \(p_1,p_2,...,p_n(1 \leq p_i \leq a)\)。
表示阅读的页码.满足 \((\sum_{i=1}^{n} p_i \leq a)\).
输出第三行一个整数\(m\),第四行\(m\)个整数\(q_i\)意义·同上.且任意2个页码不能相同,最大化你输出的\(n + m\)
\(\color{green}{solution}\)
一个不算太显然的贪心.因为我们只需要最大化看的页数,所以页码一定
选最小的.(比如选5或7,选5一定不会比选7的答案差).并且页码总值加起来
一定不大于\(n+m\),所以我们可以先找出最大的\(k\) 满足 \(\sum_{i=1}^{k} \leq n+m\).
然后先从大到小填满\(a\),再从小到大填满\(b\)即可
B. Minimum path
给你一个\(n \times n\)的矩阵,矩阵中每个单元填充着一个小写字母\(a\),你可以改变矩阵中至多\(k\)个字母为任意小写字母.
找出一条字典序最小的从 \((1,1)\) 到 \((n,n)\) 的路径.
Input:
第一行2个数\(n, k(1 \leq n \leq 2000,\ 0 \leq k \leq n^2)\) 如题所描述
第二行到第\(n+1\)行每行\(n\)个小写字母表示矩阵
Output:
一行一个字符串包含\(2n-1\)个小写字母表示你所找到的路径
\(\color{green}{solution}\)
C. Triple Flips
给你一个长度为\(n\)的\(01\)序列\(a\),你可以选择3个数\(a_x,\ a_y\, a_z\),对每个数翻转 \((0变1,\ 1变0)\).
- \(1 \leq x < y < z \leq n,\ y - x = z - y\)
询问能否进行一系列操作使整个序列全部为\(0\).
Input:
第一行一个数\(n(3 \leq n \leq 10^5)\)
第二行\(n\)个数表示输入序列
Output:
第一行输出一个"YES"或"NO"表示是否有答案.
如果有答案,那么第二行一个数\(m\)表示操作数量.第3到第\(m+2\)行输出你的具体操作.
注意,必须满足 \(0 \leq m \leq \lfloor \frac n 3 + 12 \rfloor\)
\(\color{green}{solution}\)
先把\(1\)全部移到一边去,使最左边和最右边的\(1\)的位置相差不大于一个较小值(比如10)
可以证明操作数小于 \(\lfloor \frac n 3 \rfloor\)然后对于剩余的地方爆搜判断是否合法,操作数小于\(12\).
D. Familiar Operations
你有2个数\(a\)和\(b\),现在你可以对它们进行如下操作:
- 将其中一个数乘上它的一个质因数\(p\);
- 将之中一个数除以它的一个质因数\(p\);
询问:在最小的操作次数内使\(a\)的因子的个数与\(b\)的因子的个数相同.多组询问.
Input:
第一行一个整数\(T\ (T \leq 10^5)\) 表示询问组数.接下来\(T\)行每行2个正整数 \(a,\ b (1 \leq a,\ b \leq 10^6)\) 如题描述.
Output:
输出\(T\)行,每行一个数表示最小的操作次数
Codeforces Round #517的更多相关文章
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)
Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) #include <bits/stdc++ ...
- Codeforces Round #517 体验记
原文链接 https://www.cnblogs.com/zhouzhendong/p/CF1071.html 赛前: 呀,这个 Round # 必须打啊. 于是临时改变注意决定打这一场.用小号打. ...
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path
http://codeforces.com/contest/1072/problem/D bfs 走1步的最佳状态 -> 走2步的最佳状态 -> …… #include <bits/ ...
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path(字典序)
https://codeforces.com/contest/1072/problem/D 题意 给你一个n*n充满小写字母的矩阵,你可以更改任意k个格子的字符,然后输出字典序最小的从[1,1]到[n ...
- Codeforces Round #517 (Div. 2) C. Cram Time(思维+贪心)
https://codeforces.com/contest/1065 题意 给你a,b,让你找尽量多的自然数,使得他们的和<=a,<=b,用在a和b的自然数不能重复 思路 假如只有一个数 ...
- Codeforces Round #517 (Div. 2)(1~n的分配)
题:https://codeforces.com/contest/1072/problem/C 思路:首先找到最大的x,使得x*(x+1)/2 <= a+b 那么一定存在一种分割使得 a1 &l ...
- Codeforces Round #517 Div. 2/Div. 1
\(n\)天没更博了,因为被膜你赛的毒瘤题虐哭了... 既然打了这次CF还是纪念一下. 看看NOIP之前,接下来几场的时间都不好.这应该是最后一场CF了,差\(4\)分上紫也是一个遗憾吧. A 给一个 ...
- Codeforces Round #517 (Div. 2)
A #include<queue> #include<cstdio> #include<cstring> #include<algorithm> #de ...
- Codeforces Round #517 Div. 1翻车记
A:真的懵逼了.冷静了半天之后决定二分一下答案,然后先a安排上尽量小的再贪心地一个个扩大.40min才过.这个做法非常怂的以代码复杂度和时间复杂度为代价换取了比较稳的正确性,事实上由于1~n可以组合出 ...
随机推荐
- apache重启
1.进入apache下的bin目录 /usr/local/apache/bin 2.执行命令 ./apachectl graceful
- linux curl网络库的使用方法
struct V3MemoryStruct { char *memory; size_t size; }; static size_t WriteMemoryCallback(void *conten ...
- [Laravel] mac下通过 homestead 搭建环境 到运行项目
seven_Android 关注 2017.07.03 21:33* 字数 2240 阅读 3464评论 10喜欢 9 之前学习过一段时间的 Laravel ,换 mac 后一直没空做相关的事情,而且 ...
- Alpha阶段测试报告(示例)
http://www.cnblogs.com/Flamenco/p/7834393.html Alpha阶段测试报告
- iOS7中的多任务I
[改变了后台任务的运行方式] 在iOS6和之前的系统中,系统在用户退出应用后,如果应用正在执行后台任务的话,系统会保持活跃状态直到后台任务完成或者是超时以后,才会进入真正的低功耗休眠状态. 而在iOS ...
- nodename nor servname provided, or not known
mac来使用redis然后产生上述错误,据说是用户名的问题 解决: 打开终端: cat /private/etc/hosts sudo vi /private/etc/hosts 将错误的那个名字加入 ...
- EM 最大似然概率估计
转载请注明出处 Leavingseason http://www.cnblogs.com/sylvanas2012/p/5053798.html EM框架是一种求解最大似然概率估计的方法.往往用在存在 ...
- spring注解@Value取不到值【转】
spring注解@Value取不到值 今天在一个项目中发现一个情况,在Service中取不到name值,直接输出了{name}字符串,找了好久,最后在一篇文章中找到解决方案. 解决这个问题的一篇文章( ...
- Java程序中做字符串拼接时可以使用的MessageFormat.format
Java里从来少不了字符串拼接的活,Java程序员也肯定用到过StringBuffer,StringBuilder,以及被编译器优化掉的+=.但这些都和下文要谈的无关. 比如有这样的字符串: 张三将去 ...
- [C#] ??雙問號的意思及用法
int? x = null; int y = x ?? -1; 上面二行中,第一行是將x變數放入null,為什麼int能放null,可以參考另一篇文章http://charleslin74.pixne ...