Atcoder
陆小萌
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ABC178 D - Redistribution
ABC178 D - Redistribution 求将S(1≤N≤2000)S(1 \le N \le 2000)S(1≤N≤2000)拆分为一个序列,且序列中所有值均≥3\ge 3≥3的方案数。( mod 1e9+7)(~mod~1e9+7)( mod 1e9+7) Solution 计数DP? 状态:设f[i]f[i]f[i]表示第iii个数的方案数。 转移:f[i]=∑j=0i−3f[j]f[i]=\sum _{j=0} ^{i-3} f[j]f[i]=∑j=原创 2020-09-15 12:42:48 · 296 阅读 · 0 评论 -
ABC159 E. Dividing Chocolate
Question 一块由‘0’、‘1’组成的H×WH\times WH×W的巧克力,将其进行横着切或者竖着切(行与行之间、列与列之间),使得切完后的每一块不超过KKK块’1’。 Solution 这道题目的关键在于HHH的范围很小。我们可以枚举横着切的方式,在横着切的基础之上对竖着切进行贪心。 __builtin_popcount()用于计算一个 32 位无符号整数有多少个位为1 Code #include<bits/stdc++.h> #define fi first #define se原创 2020-05-22 18:40:27 · 433 阅读 · 1 评论 -
AtCoder Beginner Contest 166
AtCoder Beginner Contest 166 D - I hate Factorization Question 求任意一组满足A5−B5=XA^5-B^5=XA5−B5=X的 AAA 和 BBB。 保证必有解。1≤X≤1091\le X\leq 10^91≤X≤109 Solution 暴力出奇迹,由于1005>109100^5>10^91005>109,所以找一个...原创 2020-05-03 23:14:04 · 345 阅读 · 0 评论 -
ABC 165 D - Floor Function
Question f(x)=floor(Ax/B)−A×floor(x/B)f(x)=floor(Ax/B) - A × floor(x/B)f(x)=floor(Ax/B)−A×floor(x/B) 求x≤nx\le nx≤n使得f(x)maxf(x)_{max}f(x)max求f(x)maxf(x)_{max}f(x)max Solution 三分法。当时打的时候盲猜这是一个先递增后递减...原创 2020-05-03 00:35:24 · 487 阅读 · 0 评论 -
ABC164 D.Multiple of 2019
D.Multiple of 2019 Question 给一个字符串S,求有多少个子串在十进制下为2019的倍数。 Solution 前置知识: S[l][r]×10l−r=s[l][k]−s[r][k]S[l][r]\times10^{l-r}=s[l][k]-s[r][k]S[l][r]×10l−r=s[l][k]−s[r][k] 若S[l][k]−S[r][k]≡0(mod P)...原创 2020-04-27 15:48:39 · 691 阅读 · 0 评论 -
ABC161 E - Yutori
ABC161 E - Yutori 题意 给你一个长度为n的字符串s(仅由’x’和’o’组成),要求你选出k个’o’且满足两个’o’中间相隔至少c个字符。 输出无论怎么选一定要选的位置。 思路 贪心 正序遍历贪心求最小位置记录在数组a中,倒序遍历贪心求最大位置记录在数组b中,当a[i]+b[i]=k+1的时候,无论何种方法选择到第k个选择时两种方法都会选到这个位置,输出这个位置。 #include...原创 2020-04-05 01:30:19 · 591 阅读 · 0 评论 -
ABC161 F - Division or Substraction
F - Division or Substraction 题意 给你一个N,问你有多少个K可以进行以下操作之后使得N为1。 若N可以整除K则N=N/K 否则N=N-K 2≤N≤1e122≤K≤N2\leq N \leq 1e12 \quad 2\leq K \leq N2≤N≤1e122≤K≤N 思路 首先要知道一个前置知识:x和x+1一定互质。 反证法:设gcd(x,x+1)=agcd(x,...原创 2020-04-05 00:54:14 · 316 阅读 · 0 评论 -
ABC160D
ABC160 D - Line++ 题意 输入N,X,Y。i(1≤N≤2e3)i(1\leq N \leq 2e3)i(1≤N≤2e3) 给你一个由N个结点组成的图,连接 第iii 和第 i+1i+1i+1个点,一共构成了N-1条边。 连接X,Y,输出两节点间最短距离长度为 i(1≤i≤N−1)i(1\leq i \leq N-1)i(1≤i≤N−1) 的边一共有多少条。 思路 再一次强调读题要注...原创 2020-03-29 01:02:00 · 304 阅读 · 0 评论 -
ABC159F
F - Knapsack for All Segments 题意 给你一个长度为n的数组,求任意[ L,R ]区间和为S的总数。 思路 01背包DP变形01背包DP变形01背包DP变形 求一个范围内的值域为某个数。 首先我们想到01背包求能恰好能装满背包时和这个的区别在于,这个求和还要包括[2,i]、[3,i]、[4,i]、…、[i,i][2,i]、[3,i]、[4,i]、…、[i,i][2,i]...原创 2020-03-23 22:19:18 · 288 阅读 · 0 评论 -
AtCoder Grand Contest 043
A - Range Flip Find Route 题意 从(1,1)到(n,m)(只能走’.’)最小翻转次数。 翻转: 可以翻转任意矩形块 思路 棋盘dp 答案为连续的’#个数 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int>P; const d...原创 2020-03-22 18:57:15 · 385 阅读 · 0 评论 -
Panasonic Programming Contest 2020
Panasonic Programming Contest 2020 D - String Equivalence 题意 本来是求字母的序列转化为求数字的序列,最后可以再转化为字母。 转化为求一个序列,如果这个位置是 p[i],那么 1~i-1 内一定出现过所有 1~p[i]-1 的数字,且第i个位置能取的最大数字为之前所用到的最大数字+1。 思路 序列要想到DFS 字母序列可以转化为数字序...原创 2020-03-15 16:24:10 · 230 阅读 · 0 评论 -
Atcoder ABC157
C - Guess The Number 思路: 特判 模拟 #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm> #include <queue&...原创 2020-03-02 23:11:53 · 1059 阅读 · 0 评论 -
D - Maze Master
D - Maze Master 题意: 从’.‘到’.'的最大距离。 思路: BFS 这道bfs无起点无终点,数据范围小,所以遍历所有的bfs取bfs结果的最大值即可。 思路很明确,但是自己因为太久没做bfs的题代码实现能力有点弱,太慢了,要做一个优秀的Acmer不仅要头脑清楚,还要有fast coding的能力。 #include <iostream> #include <cs...原创 2020-02-26 17:59:16 · 429 阅读 · 0 评论 -
Atcoder ABC155
D - Pairs 题意: 给你n个数,一共有n(n-1)个乘积,求第k大的数是多少。 n最大有2e5 思路: 二分里面套二分 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const ll mod = 1e9 +7; const ll MAX...原创 2020-02-25 21:29:24 · 695 阅读 · 1 评论 -
Lucas 定理
ABC156 D 题意: 你有n种花,每种花有一朵。 你可以任意组合但不能使结果为数字a和b,求一共有多少种组合方法。(要求花的数量>=1) 思路: Lucas + 快速幂 模板题 易推答案为 ans=2^n-1-C(n,a)-C(n,b); #include<bits/stdc++.h> using namespace std; typedef long long ll; co...原创 2020-02-23 03:17:12 · 237 阅读 · 0 评论
分享