https://atcoder.jp/contests/abc354/submissions/53680994 longlongn;structNODE{longlonga;longlongc;longlongi;longlongprefix_min; };boolcmp(structNODE& x,structNODE&y) {returnx.a >y.a; } vector<structNODE>container;intmain() { cin>>n;for(inti=1; i<=n; i++){structNODE one; cin>>...
Atcoder C - +/- Rectangle(思维+构造) 题目链接:http://agc016.contest.atcoder.jp/tasks/agc016_c 题解:挺简单的构造,很容易想到的构造方法就是(h*w)的小矩阵里其他值赋值为1,最后一个赋值为(h*w)。这只是最基础的构造,然后 判断count - (H * W - count) * (h * w - 1)(count表示基础构...
我们可以预处理(jx),即可快速得出答案 voidsolve(){intk;cin>>k;vector<int>a(30);for(inti=1;i<=26;++i)cin>>a[i];for(inti=0;i<=26;++i)f[i][0]=1;llans=0;for(inti=1;i<=k;++i){for(intj=1;j<=26;++j){f[j][i]=f[j-1][i];for(intx=1;x<=min(i,a[j]);++x)...
AtcoderBetter 让Atcoder变的更好,使得Atcoder页面汉化,可以翻译题目。 86 -- 5:44 App AtCoder Beginner Contest 330 D题题解 60 -- 2:54 App AtCoder Beginner Contest 336C题Even Digits解法1 294 -- 7:14 App AtCoder Beginner Contest 327 D题讲解 144 -- 2:42 App AtCoder Beginner Contes...
D - Digit Sum (atcoder.jp) 题意: 我们定义一个函数 f(b, n) ,其结果为b进制下的n的各位之和。现在给定一个n,和一个函数的结果值s,我们如何求出最小的b值? 1 <= n <= 1e11 分析: 我们首先写出 f(b, n) 的计算函数 int f(int b, int n) { if(n < b) return n; return f(b...
atcoder数据有点水 import java.util.HashMap; import java.util.Scanner; public class Main { //static int a=new int[100005]; static int [] vis=new int[105]; // static Long [] dp=new Long[505]; public static void main(String[] args) { ...
AtCoder Beginner Contest 199 游记(AB水题,C字符串操作,D搜索,E状压),A-SquareInequality水题B-Intersection水题,就是找公共区间,维护一下Lmax,Rmin即可voidsolve(){intn,a,b;intmaxa=-1,minb=0x3f3f3f3f;cin>>n;for(int
私がよくAtCoderでよく使う関数をまとめました。 以下、upしたファイルの一つである「general_tree.c」を元に見方を解説します。 概要 /* 二分木とは限らない一般の木構造(子がいくつかが決まってない)を記述する 問題:AtCoder ABC138-D (使用例) 入力:(上記問題の入力例1のグラフ) 4 1 ...
AtCoderAtCoder 食堂的菜品分为主菜和配菜,它们的定价均在 [1,N][1,N] 范围内。现在,定价为 i(1⩽i⩽N)i(1⩽i⩽N) 的主菜有 AiAi 种,配菜有 BiBi 种。定义一道主菜加一道配菜为一个搭配。对于每一个总价 k(1≤k≤2N)k(1≤k≤2N),请求出价值之和恰为 kk 的搭配方案数。限制:...
int lca(int a,int b) { if(deep[a]<=deep[b]) swap(a,b); //找到同一层 v1.push_back(a); while(deep[f[a]]>=deep[b]) a=f[a],v1.push_back(a); //v1.pop_back(); if(a==b) return b; v2.push_back(b); while(f[a]!=f[b]) { a=f[a]; v1.push_back(a); ...