atcoder
fyc_kabuto
一个蒟蒻程序员
展开
-
AtCoder Regular Contest 100 题解
C:直接将每个数-i,那么就是求中位数。#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm&原创 2018-09-27 11:47:39 · 368 阅读 · 0 评论 -
AtCoder Grand Contest 030D - Inversion Sum
题意:给你一个数列&a_i&,有若干操作,可以交换a[xi],a[yi]a[x_i],a[y_i]a[xi],a[yi],你也可以不进行这个操作。对于所有2Q2^Q2Q种操作方式,问逆序对总和是多少。题解:容易想到fi,x,yf_{i,x,y}fi,x,y表示前i个操作,使得a[x]&lt;a[y]a[x]&lt;a[y]a[x]<a[y]的方案...原创 2019-01-09 16:32:00 · 320 阅读 · 0 评论 -
AtCoder Grand Contest 030B - Tree Burning
题意:湖边种了一些树,分别在xix_ixi处,且呈环形。一开始人在0处(保证没有树),每次可以选择顺时针或逆时针走,直到到一棵树并将它砍掉,问最多走多少距离。题解:用L代表逆时针,R表顺时针。容易想到,似乎可以LRLRLR……这样走,然而样例都过不了……然后感性理解一波,似乎一定存在就有策略是LLLL(RRRR)LRLRLR?就是一开始向一个方向走,之后左右横跳。这个就从后往前扫...原创 2019-01-09 16:20:35 · 454 阅读 · 1 评论 -
AtCoder Regular Contest 068E - Frequency
题意:给出mmm个区间,对每个1≤i≤n1 \le i\le n1≤i≤n,求出又对少个区间至少含有一个他的倍数。题解:为什么网上的都是反着做呀,正着做也不难啊像我这种sb肯定不会反着做啦枚举i,暴力跳,考虑x−&amp;amp;gt;x+ix-&amp;amp;gt;x+ix−&amp;gt;x+i答案增加了多少,也就是说在x之前一定没有计入的区间有多少,直接对每个xxx建主席树即可。举个栗子,当前有[1,...原创 2019-01-11 21:40:56 · 225 阅读 · 0 评论 -
Educational DP Contest / DP まとめコンテスト部分题解
前言:dp太差,开个大坑因为太多题了,只做现场AC小于300的题原创 2019-01-07 09:57:28 · 1750 阅读 · 6 评论 -
AtCoder Grand Contest 021题解
A - Digit Sum 2:尽量填9,否则第一位-1#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#define LL long longusing namespace std;LL n,a[20],len=0;int main(){ ...原创 2018-12-31 10:46:04 · 182 阅读 · 0 评论 -
AtCoder Regular Contest 066 题解
D - Xor Sum为什么这个D这么难啊首先显然有v≤uv \le uv≤u,那么只要保证v≤nv \le nv≤n设f[n]f[n]f[n]为v≤nv \le nv≤n的合法点对和,v=a⊕bv=a \oplus bv=a⊕b然后数位dp,考虑a,ba,ba,b的最后一位,有同位0,一个1,和都是1三种情况,分别转移过来。1和2,2和3两种情况显然是独立的,而1,3因为末位一样,似乎...原创 2018-12-30 16:45:56 · 348 阅读 · 0 评论 -
AtCoder Regular Contest 082 题解
D - Derangement:假如每一位都满足pi=ip_i=ipi=i那么答案就是n/2n/2n/2(上取整)而显然两段连续的不合法段是互不影响的,对每段分别求答案即可。code:#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using n...原创 2018-11-05 21:03:59 · 159 阅读 · 0 评论 -
AtCoder Regular Contest 083 题解
D - Restoring Road Network:先将完全图建出来,对于一条边(i,j),假如存在(i,k)+(k,j)=(i,j),就可以删掉(小于则无解)O(n3)O(n^3)O(n3)就完事了。#include<cstring>#include<cstdio>#include<cstdlib>#include<iostream>...原创 2018-11-05 16:57:15 · 202 阅读 · 0 评论 -
AtCoder Regular Contest 085 题解
D - ABS:f[i][0/1]f[i][0/1]f[i][0/1]表示后手值为a[i−1]a[i-1]a[i−1]时,结果的最大/最小值是多少直接转移即可。code:#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostre...原创 2018-11-04 19:30:50 · 257 阅读 · 0 评论 -
AtCoder Regular Contest 081 题解
成功AK啦D - Coloring Dominoes:显然牌只能这么放:aa&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;caa \ \ \ \ \ caa&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cbb&amp;n原创 2018-11-06 09:59:53 · 250 阅读 · 1 评论 -
AtCoder Grand Contest 026 题解
B - rng_10s:大部分情况都很好判断,最后剩一种情况:A在mod B意义下+D,问是否存在x使得A+xD>C。容易发现循环节长度为gcd(B,D),判一下即可。code:#include<cstdio>#include<cstdlib>#include<iostream>#include<cstring>#define ...原创 2018-10-30 21:31:38 · 243 阅读 · 0 评论 -
AtCoder Regular Contest 090 题解
E - Avoiding Collision:容易发现,因为两个人都是走最短路的,所以至多相遇一次。那么就枚举可能相遇的点/边,减掉这些情况即可。#include<queue>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include&...原创 2018-10-09 21:37:26 · 277 阅读 · 0 评论 -
AtCoder Regular Contest 095 部分题解
D - Binomial Coefficients:容易发现,最大的数一定会选的,因为替换成最大的数一定更优。而CniC_n^iCni当iii接近n/2n/2n/2时是最大的。#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<...原创 2018-09-30 10:27:50 · 218 阅读 · 0 评论 -
AtCoder Regular Contest 097 题解
D - Equals:并查集维护a[i],ia[i],ia[i],i是否联通。显然,只要联通就一定可以换到。#include&lt;cstdio&gt;#include&lt;cstdlib&gt;#include&lt;cstring&gt;#include&lt;iostream&gt;using namespace std;int n,m,a[100010],原创 2018-09-28 22:07:16 · 206 阅读 · 0 评论 -
AtCoder Grand Contest 030F - Permutation and Minimum
题意:设bi=min(a2i,a2i−1)b_i=min(a_{2i},a_{2i-1})bi=min(a2i,a2i−1)先给出aaa部分,将其补全,问bbb数列的方案数。题解:n越小越难系列首先将两位都确定得踢掉,然后将剩下的数拿出来,有些位置是确定的,有cic_ici表示。那么现在两两配对(不能两个cic_ici都为1),且只关心较小的那个。从后往前DP。记 fi,j...原创 2019-01-09 16:55:48 · 274 阅读 · 0 评论