
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 · 253 阅读 · 0 评论 -
ABC159 E. Dividing Chocolate
Question一块由‘0’、‘1’组成的H×WH\times WH×W的巧克力,将其进行横着切或者竖着切(行与行之间、列与列之间),使得切完后的每一块不超过KKK块’1’。Solution这道题目的关键在于HHH的范围很小。我们可以枚举横着切的方式,在横着切的基础之上对竖着切进行贪心。__builtin_popcount()用于计算一个 32 位无符号整数有多少个位为1Code#include<bits/stdc++.h>#define fi first#define se原创 2020-05-22 18:40:27 · 381 阅读 · 1 评论 -
AtCoder Beginner Contest 166
AtCoder Beginner Contest 166D - I hate FactorizationQuestion求任意一组满足A5−B5=XA^5-B^5=XA5−B5=X的 AAA 和 BBB。保证必有解。1≤X≤1091\le X\leq 10^91≤X≤109Solution暴力出奇迹,由于1005>109100^5>10^91005>109,所以找一个...原创 2020-05-03 23:14:04 · 306 阅读 · 0 评论 -
ABC 165 D - Floor Function
Questionf(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)maxSolution三分法。当时打的时候盲猜这是一个先递增后递减...原创 2020-05-03 00:35:24 · 438 阅读 · 0 评论 -
ABC164 D.Multiple of 2019
D.Multiple of 2019Question给一个字符串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 · 643 阅读 · 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 · 553 阅读 · 0 评论 -
ABC161 F - Division or Substraction
F - Division or Substraction题意给你一个N,问你有多少个K可以进行以下操作之后使得N为1。若N可以整除K则N=N/K否则N=N-K2≤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 · 288 阅读 · 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 · 279 阅读 · 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 · 260 阅读 · 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 · 342 阅读 · 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 · 203 阅读 · 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 · 1009 阅读 · 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 · 398 阅读 · 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 · 643 阅读 · 1 评论 -
Lucas 定理
ABC156D题意:你有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 · 172 阅读 · 0 评论