【AtCoder】AGC011 E - Increasing Numbers】的更多相关文章

题解 题是真的好,我是真的不会做 智商本还是要多开啊QwQ 我们发现一个非下降的数字一定可以用不超过九个1111111111...1111表示 那么我们可以得到这样的一个式子,假如我们用了k个数,那么最多的话可以是这样的 \(N = \sum_{i = 1}^{9k} (10^{r_i} - 1) / 9\) \(9N + 9k = \sum_{i = 1}^{9k} 10^{r_{i}}\) 我们只要每次计算出9N + 9 ,9N + 18...,然后看看十进制下每一位的数字和有没有超过9k,…
AGC011 A - Airport Bus 大意:有N个人,每个人只能在\([T_i,T_i +K]\)这段区间乘车,每辆车安排C人,问最少安排几辆车 直接扫,遇到一个没有车的在\(T_i +K\)分配一辆 #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <vector> #include <set> #in…
题解 大意是n个管子排成一排,每个管子有两种状态,A状态是从某个方向进去,从原方向出来,B状态是从某个方向进去,从另一个方向出来 球经过一个A状态的管子这个管子会立刻变成B状态,经过一个B状态的管子会立刻变成A状态 往里面扔K个球,问最后管子的状态 我们发现如果第一个管子是A的话,球会立刻弹出去 否则的话 如果第二个管子是B 那么 A -> B A A -> 如果第二个管子是A A -> A A <- B B -> B B A -> 也就是,每次操作后的状态只与右边第一…
题解 大意是给出一张图,然后建一张新图,新图的点标号是(a,b) 如果a和c有一条边,b和d有一条边,那么(a,b)和(c,d)之间有一条边 我们把这道题当成这道题来做,给出两张图,如果第一张图有边(a,c),第二张图有边(b,d),那么第三张图上有边(a,b)(c,d) 如果某张图只有一个点,那么答案就是另一张图的点数 然后我们发现对于某两个点对(a,c),(b,d)如果有一条长度为l的路径,那么(a,b)(c,d)一定可以联通 但是我们发现我们经过的路径可以不是简单路径,也就是我们反复走一条…
[BZOJ1662][Usaco2006 Nov]Round Numbers 圆环数 Description 正如你所知,奶牛们没有手指以至于不能玩"石头剪刀布"来任意地决定例如谁先挤奶的顺序.她们甚至也不能通过仍硬币的方式. 所以她们通过"round number"竞赛的方式.第一头牛选取一个整数,小于20亿.第二头牛也这样选取一个整数.如果这两个数都是 "round numbers",那么第一头牛获胜,否则第二头牛获胜. 如果一个正整数N的二…
[题解]Greatest Common Increasing Subsequence vj 唉,把自己当做DP入门选手来总结这道题吧,我DP实在太差了 首先是设置状态的技巧,设置状态主要就是要补充不漏并且适合转移. 这样的区间对区间有个设置状态的技巧:一维钦定一维区间 具体来说,是这个意思: 我们要方便记录状态 ,所以我们记录一维区间的答案 我们要可以转移,所以我们钦定一个状态方便转移 我们要方案互斥,所以我们钦定一个状态方便转移(方法同上,钦定这个技巧同时满足了两种要求) 接下来是对于方案的记…
[LeetCode]738. Monotone Increasing Digits 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/monotone-increasing-digits/description/ 题目描述: Given a non-negative integer N, find th…
[LeetCode]165. Compare Version Numbers 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.me/ 题目地址:https://leetcode.com/problems/compare-version-numbers/description/ 题目描述: Compare two version numbers version1 and vers…
[题目]AtCoder Regular Contest 092 D - Two Sequences [题意]给定n个数的数组A和数组B,求所有A[i]+B[j]的异或和(1<=i,j<=n).n<=200000. [算法]二分+模拟 [题解]将答案分成(A[i]+B[j]-A[i]^B[j])的异或和 以及 A[i]^B[j]的异或和,即单独考虑进位(后面部分很好算). 二进制题目必须拆位,通过进位使第k位+1的数对必须满足 ( A[i] & ((1<<k)-1) )…
[题意]给定h,w,d,要求构造矩阵h*w满足任意两个曼哈顿距离为d的点都不同色,染四色. [算法]结论+矩阵变换 [题解] 曼哈顿距离是一个立着的正方形,不方便处理.d=|xi-xj|+|yi-yj| 将矩阵旋转45°,转为切比雪夫距离(正方形).d=max{|xi-xj|,|yi-yj|} (图片来自Atcoder editorial) 定义旋转后的每个点坐标为(x-y,x+y).(实际处理中x-y+10000避免负数) 将新坐标按d划分区域,就可以发现每个点必须和八连通的块异色,如下图.…