随笔分类 -  OJ-Atcoder

摘要:"传送门" $A$ 什么玩意儿…… $B$ 什么玩意儿…… $E$ 根据康托展开,一个排列$p_i$在所有排列中的排名为$\sum\limits_{i=1}^na_i(n i)!$,其中$a_i$表示满足$j i$且$p_j define R register define fp(i,a,b) fo 阅读全文
posted @ 2019-09-08 21:56 源曲明 阅读(236) 评论(0) 推荐(0)
摘要:"传送门" $A$ 什么玩意儿…… $B$ 什么玩意儿…… $E$ 首先考虑一个暴力的想法,先把所有的串扔到$trie$树里,然后对于询问直接在$trie$树上匹配这个串,同时把所有字典序小于当前转移的子树里的串的个数加入答案 这样显然要挂掉,而且我们也不可能$26!$枚举所有字母的大小 设$i,j 阅读全文
posted @ 2019-09-08 16:19 源曲明 阅读(185) 评论(0) 推荐(0)
摘要:"传送门" 不知道为什么$AGC$系列的题里突然多了这些……那就做吧…… $A$ 什么玩意儿…… upd:因为没看到最后要加换行居然没有$1A$好气哦…… $B$ 什么玩意儿…… $C$ 什么玩意儿…… $D$ 我好蠢啊为什么总是想到开头想不到后面呢…… 首先题中的限制等价于$a_{i,j} a{i 阅读全文
posted @ 2019-09-06 16:43 源曲明 阅读(182) 评论(0) 推荐(0)
摘要:"传送门" $A$ 直接按时间排序之后贪心就可以了 $E$ 为啥全世界都是按分解成全$1$数来做的……只有我是贪心的么…… 事先声明我并不会证明这个贪心的正确性 贪心起见,我们每一次都选择把原数减去一个尽量大的数 假设这个数按数位可以写成$a_1a_2a_3...a_n$,那么我们找到最大的$p$, 阅读全文
posted @ 2019-09-05 21:13 源曲明 阅读(220) 评论(0) 推荐(0)
摘要:"传送门" $A$ 判一下奇数的个数就行了 $B$ 首先记录一下所有数的总和$sum$,然后判断一下加到这个$sum$需要进行几次操作 我们考虑能否把该序列变为$0$,把序列给差分,即令$b_i=a_i a_{i 1},b_1=a_1 a_n$,那么发现一次操作之后会令所有$b_i =1$以及某一个 阅读全文
posted @ 2019-09-04 16:45 源曲明 阅读(201) 评论(0) 推荐(0)
摘要:"传送门" 为啥这场题目少一点啊…… $A$ 易知增加的数前面肯定比后面大,那么我们倒着做,然后维护一下最小要加多少就可以了 $B$ 把$a_i$当做$i$的父亲,那么问题可以转化为对于$u$,使每一个儿子的深度分别增加$1,2,3,...$,最终使深度最深的点深度最小。那么我们对于每一个$u$把它 阅读全文
posted @ 2019-09-02 20:33 源曲明 阅读(219) 评论(0) 推荐(0)
摘要:"传送门" $A$ 分类讨论就行了 ~~然而我竟然有一种讨论不动的感觉~~ $B$ 发现最优策略一定是选择一段长度为$k$的区间,这个区间之外的数可以任意选或不选,区间内的数必须全选或全不选,那么枚举区间即可 $E$ 这题是真的神仙啊……完全想不到 ~~以下可以看做是题解的翻译~~ 首先我们从$i$ 阅读全文
posted @ 2019-09-01 22:23 源曲明 阅读(221) 评论(0) 推荐(0)
摘要:"传送门" $A$ 咕咕咕 $F$ 好迷…… 首先我们发现,一个字母往下的轨迹视为一条路径,那么这条路径会是一条折线,且这个折线越早拐弯越好 那么我们对于$t$从后往前贪心的匹配,找到$s$中最后面的能匹配的位置,然后判断是否会和之前的折线有交点 ~~感觉我还是说不太清楚……建议看一下官方题解的图~ 阅读全文
posted @ 2019-09-01 12:35 源曲明 阅读(226) 评论(0) 推荐(0)
摘要:"传送门" $A$ 咕咕 $E$ ~~为什么我什么题都不会啊~~ 首先,我们发现同一列的三个数永远在同一列,且只会有正序和逆序两种情况,不妨分别记为$i$和$ i$ 其次,一次操作可以看成是把三个数取反,并交换间隔的两个数 那么我们把操作拆开来,一个是交换相隔的两个数(交换的过程中包括取反),一个是 阅读全文
posted @ 2019-08-31 11:27 源曲明 阅读(207) 评论(0) 推荐(0)
摘要:"传送门" $A$ 直接把每个字母作为一个字符串,如果某个串和它前面的相同,那么就把这个字母和它后面那个字母接起来。然而我并不会证明这个贪心的正确性 $B$ 考试的时候我简直就是个$zz$ 首先不考虑分给这些人的顺序,最后把答案乘上个$n!$就行了 $\sum (c_i a_i)=\sum c_i 阅读全文
posted @ 2019-08-19 17:55 源曲明 阅读(294) 评论(0) 推荐(0)
摘要:"传送门" $A$ 咕咕 $B$ 咕咕 cpp //quming include define R register define fp(i,a,b) for(R int i=(a),I=(b)+1;iI; i) define go(u) for(int i=head[u],v=e[i].v;i;i 阅读全文
posted @ 2019-08-16 08:21 源曲明 阅读(216) 评论(0) 推荐(0)
摘要:"传送门" $A$ 咕咕 $B$ 一开始想歪了…… 枚举$2$操作的次数$k$,然后用单调队列优化就行了 $E$ 果然我的$dp$菜的跟什么一样的…… 首先把机器人的移动看做出口的移动,那么如果出口往左移动了一格,它在右边就会有一整列不能走,走其他方向同理 那么我们记一个$dp[u][d][l][r 阅读全文
posted @ 2019-08-15 20:11 源曲明 阅读(212) 评论(0) 推荐(0)
摘要:"传送门" $A$ 咕咕 $B$ 不难发现每个数能和自己匹配就和自己匹配,最多只会和左边右边分别匹配一次,那么我们记$f_{i,0/1}$表示考虑$i$,且$i$留下了$0/1$个的方案数,从左往右$dp$即可 $C$ 重新标号之后发现一直进行操作$2$的话奇数位上的只能一直在奇数位上,那么一个偶数 阅读全文
posted @ 2019-08-13 20:40 源曲明 阅读(189) 评论(0) 推荐(0)
摘要:"传送门" $A$ 咕咕 $B$ 模拟一下就行了 $D$ 以边的序号为边权建出$kruskal$重构树,然后二分最大的序号,判断是否合法就行了 $E$ 如果我们把所有的$a_i$降序排序,那么我们可以画出一个网格图,其中第$i$列有$a_i$个格子,初始在$1,1$,第一个操作对应往右走,第二个操作 阅读全文
posted @ 2019-08-08 17:44 源曲明 阅读(183) 评论(0) 推荐(0)
摘要:"传送门" $A$ 咕咕咕 $E$ 好吧的确还是比较菜…… 我们把${a_i+b_i+a_j+b_j\choose a_i+a_j}$变成从$( a_i, b_i)$走到$(a_j,b_j)$的方案数,那么可以直接通过$O(MAX^2)$的$dp$算出$\sum_{i=1}^n\sum_{j=1}^ 阅读全文
posted @ 2019-08-06 19:20 源曲明 阅读(230) 评论(0) 推荐(0)
摘要:"传送门" 爆炸的比较厉害……果然还是菜啊…… $A$ 我们强制一个点为$(0,0)$,那么设剩下两个点分别为$(a,b),(c,d)$,根据叉积可以计算出面积为$ad bc=S$,那么令$ad$略大于$S$,然后对于$bc$暴力枚举一下就行了 $C$ 比赛的时候我简直就是个$zz$ 首先,最终的序 阅读全文
posted @ 2019-07-23 22:12 源曲明 阅读(455) 评论(2) 推荐(0)
摘要:"传送门" $A$ 因为有$a_1\oplus a_2\oplus a_3=0,a_2\oplus a_3\oplus a_4=0$,所以有$a_1=a_4$,或者写成$a_{i}=a_{i+3}$ 于是合法的情况只有以下三种 1.全是$0$ 2.${2n\over 3}$个$x$和${n\over 阅读全文
posted @ 2019-07-15 12:32 源曲明 阅读(378) 评论(0) 推荐(0)