Atcoder
文章平均质量分 56
bogedaye
加油!!!
展开
-
AtCoder Regular Contest 112 题解
A. A - B = CA题题目链接【题解】题意要求符合题意的对数。我们考虑对于每一个C而言,有如下的对数:(L, L + C), … ,(R - C, R), 即总共R - L + 1 - C对。而L <= C <= R 且 C <= R - L(如果C > R - L则没有符合题意的对数),则 L <= C <= R - L,但是显然L, R - L谁大谁小是不清楚的,需要讨论情况。如果L > R - L,则没有符合题意的对数,输出为0;否则即存在若干个C,原创 2021-11-01 10:24:48 · 227 阅读 · 0 评论 -
Atcoder Beginner Contest 203 题解
A.B略C-Friends and Travel costs(思维)思路:题目限定了从i村庄到(i+1)村庄有path,其他村庄之间无path,限定了此道题就是一维坐标轴的情况(直线步行),不是图。你有k元(ans=k,用ans存),而你每从i村庄到(i+1)村庄你就要花费1元,此时你在0村庄,自己想一下,比如,你现在身上有3元,那么你可以从0村庄到3村庄,0->1->2->3,也就是说你身上的钱对应着你能走到第几个村庄(路上没有朋友的情况);但是路上如果有你的朋友的话,你就可以补充身原创 2021-05-31 12:40:03 · 631 阅读 · 0 评论 -
Atcoder Beginner Contest 202 题解
A.B比较简单,主要想说下C.D的做法C-Made Up题目链接有三个数组AAA=(A1A_1A1,A2A_2A2,…),BBB=(B1B_1B1,B2B_2B2,…),CCC=(C1C_1C1,C2C_2C2,…),问有多少对AiA_iAi=BCjB_{C_j}BCj?(有点逆过来做的思想)我的做法是用cnt数组记录A数组中出现的每个数的个数,cnt[a[i]]++,最后对C数组遍历,因为C数组中的数是B数组中的索引,ans+=cnt[b[c[i]]].#include<原创 2021-05-23 23:31:23 · 707 阅读 · 0 评论 -
AtCoder Beginner Contest 200 题解
A.B比较简单,题解就不放了,主要想说下C的几种做法C-Ringo’s Favorite Numbers 2题目链接本题我在比赛中用的是类似埃氏筛的思想,用一个vis[]数组来标记。但是赛后看队友的做法和editorial提供的做法时,感觉有所启发,故记录一下,感觉还蛮有意思的,主要想分享一下一步步优化的过程。具体做法见我的代码。#include<bits/stdc++.h>using namespace std;/*//1.法1:埃氏筛的思想,我的做法,核心是统计每一类的个数,然原创 2021-05-09 10:29:30 · 868 阅读 · 3 评论 -
AtCoder Regular Contest 109 题解
A.HandsA题题目链接【题解】首先自己按照题意画一下图示,求从A楼的a层到B楼的b层的最少时间。可以观察到,我们可以根据讨论a, b的大小。a = b, 显然ans是x(时间单位略去)a > b, 你不妨就先设a = 4, b = 2来看,首先我们知道肯定要从A楼的第4层走到B楼的第3层,需要x; 再由B楼第3层走到B楼的第2层,耗时(a - b - 1) * min(2*x, y),则ans = x + (a - b - 1)*min(2x, y)a < b, 你不妨先设a =原创 2021-03-10 10:03:54 · 220 阅读 · 0 评论