Codeforces
文章平均质量分 77
LFhase
请用一句话描述你自己
展开
-
Educational Codeforces Round 27 B Luba And The Ticket(贪心)
题目链接:点击打开链接贪心策略:知道数字和较小端和较大端时,较小的数字最多能加上9-num,较大的则是num所以得出六个数字对平衡的贡献,只需对其排序后处理即可AC代码如下#include #include #include using namespace std;int solve(int* s, int* l, int d){ int num[7];原创 2017-08-22 11:21:32 · 460 阅读 · 0 评论 -
Codeforces Round #462 (Div. 2) D A Determined Cleanup
题目链接:点击打开链接题意:给定k,p,求一个各系数都为小于k的非负数的多项式f(x),使得存在一个多项式q(x),有f(x) = q(x)(x+k)+p思路:利用多项式余数定理,即若f(x) % (x - k) = p,则f(k) = p。这里k用-k代替即得到所求多项式为f(-k) = p,可以看作是一个-k进制下的p的表示。先求k进制下p的表示,对于每个奇数位上的数进行检查(因为-k的奇数次...原创 2018-02-15 14:10:50 · 470 阅读 · 0 评论 -
Codeforces Round #464 (Div. 2) C Convenient For Everybody
题目链接:点击打开链接题意:一天n个小时,全球n个时区,当第一个时区当地时间为1时,第i个时区当地时间为i。现在要举办某种比赛,历时1小时,每个时区有a_i个人参加。给定s和f,如果对于某个时区i,(均为当地时间)比赛开始时间不早于s且结束时间不迟于f则当地选手都会参加这个比赛。现在要求某个对第1时区的时间,使得比赛在这个时间开始时全球参加的人数最多。思路:时区换算比较麻烦,比如n=5时,时间的推...原创 2018-02-17 23:11:00 · 1358 阅读 · 0 评论 -
Codeforces Round #465 (Div. 2) C. Fifa and Fafa
题目链接:点击打开链接题意:给定一个圆位于(x1, y1),半径为R,再给定平面上任意一点(x2, y2),在圆内找一点画一个半径为r的圆,使得该圆将该点包含在园内(可以在边界)且使得大圆内不属于小圆部分面积最小。思路:若(x2, y2)在圆外,则所求圆即大圆。若(x2, y2)在圆内,则所求圆圆心在(x2, y2)与大圆圆心连线处。采用二分法寻找小圆圆心与(x2, y2)的距离(即半径r),使得...原创 2018-02-20 04:24:46 · 588 阅读 · 0 评论 -
Codeforces Round #465 (Div. 2) D. Fafa and Ancient Alphabet
题目链接:点击打开链接题意:给两个长为n的串,串中的元素由1-m种字符组成,若为0则未知并可为任意一个。现在要计算串1比串2字典序大的可能性模(1e9+7)的值。思路:题目分为两部分内容,一个是计算概率,一个是计算分数模n的值。计算概率:扫描字符串,分类讨论即可。讨论内容见代码。计算模n的值:要计算P/Q %MOD,即计算P*Q^-1 %MOD = (P%MOD * Q^-1%MOD)%MOD。已...原创 2018-02-20 04:30:43 · 606 阅读 · 0 评论 -
Educational Codeforces Round 39 (Rated for Div. 2) E Largest Beautiful Number
题目链接:点击打开链接题意:定义一种数,这里不妨称之为BN:它的十进制表示只有偶数位数,且不含前导零;此外,它的十进制表示的每个位上的数经过重新排列后能形成回文序列。在这里给定某个数n(十进制下长度不超过2*1e5),求小于它的最大BN。(题目数据保证有解且n不含前导零)思路:贪心。首先,n的长度可能很大,这里需要使用字符串来处理该数。因为要找一个比n小的BN数,假设该数的前i位数已经确定,那么第...原创 2018-03-08 19:54:41 · 299 阅读 · 0 评论 -
Codeforces Round #469 (Div. 2) Solutions of A-D
A. Left-handers, Right-handers and Ambidexters水题,AC代码如下:#include <iostream>#include <iomanip>#include <algorithm>#include <cstring>#include <cstdio>#include <cstr...原创 2018-03-09 22:28:46 · 439 阅读 · 0 评论 -
Codeforces Round #470 D Perfect Security
题目链接:点击打开链接题意:有一个串O,和一个串K每位异或后加密生成A,现在给重新排列的K以及A,求字典序最小的O思路:因为给定的K是重新排列的,而现在要求字典序最小的O,贪心地,从第一个数字开始不断求满足条件的最小数字即可。首先,正整数的异或操作是一个双射,即如果O^K = A,那么A^K = O,而要求最小的数字,则需要尽可能地使参加异或运算的两个数字二进制下每位数相同。不妨对给定的串K的每个...原创 2018-03-17 16:34:44 · 210 阅读 · 0 评论 -
Codeforces Round #470 D Picking Strings
题目链接:https://codeforces.com/contest/947/problem/D题意:给定两个由A、B、C三个字母组成的串S、T,以及一系列串上的操作,给出Q的询问,询问S[ a, b]可否经过一系列操作生成T[ c, d]。思路:根据数据规模,必须要离线构建一些东西来解决该问题。首先,观察给出的操作,可以发现如下规律:1. C和B可以相互转化2. B之前的A...原创 2018-03-17 16:43:03 · 339 阅读 · 2 评论 -
Codeforces Round #472 A-D
A. Tritonic Iridescence题目链接:点击打开链接题意:使用CMY对字符串进行填充,要求相邻的两个不能相同,如果有两种以上可行填充方法就输出“YES”否则输出“NO”。思路:对每一个问号进行判定,最后的结果就是所有问号的可行方案数的乘积,当然可能会超出数据范围,因此只要大于2不再变大。此外, 还要判断是否有连续两个相同。AC代码:#include <iostream>...原创 2018-03-26 15:27:03 · 423 阅读 · 0 评论 -
Codeforces Round #297 (Div. 2) 纪念第一次Div2 AK
// 虽然是virtual participant但还是爽到、A Vitaliy and Pie题目链接:点击打开链接思路:水题AC代码:#include <iostream>#include <iomanip>#include <algorithm>#include <cstring>#include <cstdio>#inc...原创 2018-04-22 19:05:29 · 369 阅读 · 0 评论 -
Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A-D
A. Single Wildcard Pattern Matching题目链接题意:给定两个串,其中第一个串最多有一个*,可以匹配任意长字符,判断两个字符串能否匹配思路:确定*的位置,判断前缀和后缀是否相等即可。PS:这题好坑啊AC代码:#include <iostream>#include <iomanip>#include <algo...原创 2018-08-18 04:03:27 · 477 阅读 · 0 评论 -
Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises) A, B, D, E
Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises) A, B, E1040A. Palindrome Dance题目链接题意:给一个串,由0,1,2组成,2可以用代价a变成0,用代价b变成1,问使其变成由0,1组成的回文串的最小花费思路:水题。贪心。AC代码:#include...原创 2018-09-06 10:12:34 · 304 阅读 · 0 评论 -
CodeCraft-19 and Codeforces Round #537 (Div. 2) A, B, C
CodeCraft-19 and Codeforces Round #537 (Div. 2) A, B, CA. Superhero Transformation题目链接题面:划掉题意:见题面思路:将元音字母转换为*,辅音字母转换为+,判断最后两个字符串是否相同即可。AC代码:#include &lt;iostream&gt;#include &lt;iomanip&gt...原创 2019-02-04 08:49:43 · 582 阅读 · 0 评论 -
Educational Codeforces Round 39 (Rated for Div. 2) D Timetable
题目链接:点击打开链接题意:某大学一周有n天,一天有m小时工作/上课时间。给定n行m列0 和 1组成的字符,当第i行第j列为1时表示第i天第j小时有课。主角每天在学校的时间为第一节课到最后一节课之间(包括这两节课)的所有时间。现在主角想翘课,但一周最多翘k节课,那么现在主角就可以在翘课数小于等于k时选择自己想上的第一节课和最后一节课,主角当天在学校的时间则为这两节课之间(包括这两节课)的所有时间。...原创 2018-03-07 02:10:44 · 313 阅读 · 0 评论 -
Codeforces Round #461 E Birds
题目链接:点击打开链接题意:有n棵树,每棵树上有c_i只鸟,LMP(人名)要召唤这些鸟,召唤第i棵树的一只鸟需要cost_i点mana能量。初始状态下,LMP拥有W点能量以及W的能量容量,每到一棵新的树能量可以增加X点,但最多为其容量大小,而每召唤一只鸟能使其能量容量增加B。求他最多能召唤的鸟的数量。思路:明显的DP题,满足三大特性。不妨设dp[i, j]为到达第i棵树并已召唤j只鸟时所获得的最大...原创 2018-02-11 12:55:42 · 326 阅读 · 0 评论 -
AIM Tech Round 4 (Div. 2) B
题目链接:点击打开链接根据题意,只有成行或成列的同种颜色块可以组成一个集合因此对于某行或某列,其形成的集合数即其所有取非0时的组合数的和所以对于数目为n的某行或某列,其可以形成的组合数为2^n - 1故只需在输入时统计其相同颜色数目即可AC代码如下#include #include #include using namespace std;long long M原创 2017-08-26 09:33:56 · 231 阅读 · 0 评论 -
AIM Tech Round 4 (Div. 2) C
题目链接:点击打开链接原创 2017-08-26 09:37:58 · 299 阅读 · 0 评论 -
Codeforces round#429 div2 C
题目链接:点击打开链接一个组合公式最后结果 F[n,k] = (n+1)/(k+1)化简详情 :点击打开链接AC代码如下:#include #include #include using namespace std;int A[200005];int C[200005];struct BT{ int po; int num; int原创 2017-08-19 10:51:08 · 408 阅读 · 0 评论 -
Codeforces Round #432 (Div. 2) B Arpa and an exam about geometry
题目链接:点击打开链接即判断是否存在一个点d,使∠adb等于∠bdc那么只要作ab,bc的中垂线判断其是否有交点再判断ab,bc是否等长即可AC代码如下:#include #include using namespace std;struct point{ double x, y;};point a, b, c;double dis(point a,原创 2017-09-05 20:21:10 · 250 阅读 · 0 评论 -
Codeforces Round #432 (Div. 2) C Five Dimensional Points
题目链接:点击打开链接五维空间下的锐角判定(包括0)只需判断向量的数量积是否大于0即可暴力枚举所有可能性AC代码如下:#include #include #include using namespace std;struct point{ int x1, x2, x3, x4, x5; point operator-(const point& o)原创 2017-09-05 20:23:53 · 365 阅读 · 0 评论 -
codeforces 591C (模拟)
题目链接:点击打开链接题目要求不断使用median smooth对数组进行处理而0 1数组稳定时一定成分块状,且只需对类似于‘ 0 1 0 1 ...‘这样存在两对及以上交错子序列进行处理即可当末尾与第一个相同时需操作 length/2 次而当末尾与第一个不同时需操作 length/2 - 1 次所以需要遍历一遍该序列然后取其最大值即可AC代码如下:#include原创 2017-09-13 21:44:01 · 355 阅读 · 0 评论 -
codeforces 591 E (bfs and bf)
题目链接:点击打开链接如果某点在最后生成的图上,那么它到各states的距离最短直接对所有states进行BFS,计算它到图中各地所用最短距离最后扫描整个图,取最小值即可AC代码如下:#include #include #include #include using namespace std;int n, m;char mapp[1005][1005];i原创 2017-09-14 21:57:21 · 264 阅读 · 0 评论 -
Codeforces Round #438 B Race Against Time(模拟)
题目链接:点击打开链接一个基于时钟的模拟题,将时钟分为3600份,从起点分别顺时针和逆时针走一遍即可AC代码:#include #include #include #include using namespace std;int clock[3601];int h, m, s, t1, t2;void solve(){ memset(clock,0,si原创 2017-10-06 15:42:29 · 280 阅读 · 0 评论 -
Codeforces Round #438 C Qualification Rounds(暴力+位运算)
题目链接:点击打开链接因为k最大为4,所以可以根据二进制转十进制的策略存储所有的题目种类只需要根据k的值找到一对数,使其表示成二进制之后每个数位上1最多出现一次暴力一遍即可AC代码如下:#include #include #include #include using namespace std;int n, k;int problem[16];int tra原创 2017-10-06 15:44:57 · 297 阅读 · 0 评论 -
Codeforces Round #458 C Travelling Salesman and Special Numbers
题目链接:点击打开链接题意:给定一种reduce操作(将某数置成其二进制表示下1的个数),某数reduce到1所需要的操作次数为其步长,给一个二进制数,要求求出小于该数且步长为k的所有数的个数模1e9+7。思路: 注意到所有范围内的数的二进制表示下1的个数不会超过1000,所以所有数经一步操作后会落在1-1000范围内,同理,再操作一次会落到1-10的范围,而1-10内步长最长的为原创 2018-01-21 12:21:05 · 901 阅读 · 2 评论 -
Educational Codeforces Round 35 (Rated for Div. 2) F Tree Destruction
题目链接:点击打开链接题意:给一棵树(n个顶点,n-1条边),初始化一个值为0,每次选择树中两个顶点并删去其中一个,并加这两点的路径长加到该值上,直到删完所有边,求该值达到最大时的操作顺序和该值大小。思路:找出树的直径,并对直径外的点从外到内依次删除(这里我粗暴的用了排序,路径长大的先输出,可优化),最后从直径的一个端点依次删除直径上的其他点,这样就能达到最大值。AC代码如下:(950原创 2018-01-18 18:38:14 · 321 阅读 · 0 评论 -
Educational Codeforces Round 35 (Rated for Div. 2) E Stack Sorting
题目链接:点击打开链接模拟栈排序题意即给出一个n和k个前缀,如果可以完成栈排序则补全这n个数使其字典序最大,否则输出-1思路即首先判断k个前缀是否满足栈排序,如果满足则进行补全补全时按递减序列进行即可AC代码如下:#include #include #include #include #include using namespace std;int nu原创 2018-01-16 14:10:39 · 324 阅读 · 0 评论 -
Codeforces Round #461 D Robot Vacuum Cleaner
题目链接:点击打开链接题意:给n个仅包含s和h的字符串,排列这n个字符串,使得这样的(i,j)对最多,即i<j且t_i = s,t_j = h。思路:使用排序的思想,每个字符串看作一个单位,对于两个字符串A和B,只考虑其先后顺序。若AB组合的对数大于BA,则需要A在B前,否则B在A前。AC代码:#include <iostream>#include <algorithm&...原创 2018-02-08 13:32:57 · 431 阅读 · 0 评论 -
Educational Codeforces Round 62 (Rated for Div. 2) E. Palindrome-less Arrays
CodeCraft-19 and Codeforces Round #537 (Div. 2) A, B, CE. Palindrome-less Arrays题目链接题面:划掉题意:给定N,K和一个长度为N的由1到K或者-1组成的数组,要求将所有-1替换成1到K的一个数,使得ai!=ai+2a_i != a_{i+2}ai!=ai+2,问有多少种情况。思路:易得,奇\偶数...原创 2019-03-25 10:57:53 · 184 阅读 · 0 评论