Havana真好听qwq

AB题就不写了 SB

C.BBuBBBlesort!

有一个长度为$n$的数列

你每次可以用两种操作

1.交换两个相邻元素

2.交换两个隔且仅隔了一个的元素

求把数列排成有序的,最少需要多少1操作

sol:显然,2操作并不会改变排序后元素所处位置的奇偶性

我们找到所有排序后位置与现在位置差为奇数的点,再除以2就可以了

D.Anticube

给出$n$个两两不同的数,选出一些数使得不存在两个数的积是完全立方数,求能选出的最大数量

sol:套路

把每个数分解质因数,求出他们每个质因数次数膜3的值

然后每次选择两个“互补”的数中较大的那个数就可以了

因为数不超过${10^{10}}$,可以用不超过${10^{\frac{10}{3}}}$的质数来筛

筛掉的这些数可以求出最简表示和补数

剩下的数都可以分成不超过两个质因子

然后就完全平方判一下就可以了

E.Sequential operations on Sequence

一个由$1,2,3,4,...,n$组成的数列,有$Q$次操作,每次操作包含一个$q_i$表示将数列无限重复,然后取前$q_i$项组成一个新的数列

$q_i \leq 10 ^ {18}$

求最后数列中$1$到$n$各出现了多少次

sol:

首先,如果前面的$q_i$大于后面的,那肯定是一次无效操作,我们可以删去

于是$q_i$递增

然后...就是神仙操作了

我们记一个$f_x$表示“第$x$次操作后的序列在最后的序列中出现了多少次”

显然,第$i$次操作后的序列肯定是由很多次第$i - 1$次操作后的序列加上一段第$i - 1$次操作后的序列的前缀组成

完整的部分显然是可以直接拿$f_{x- 1}$转移到$f_x$的

考虑剩下的一段前缀

剩下的一段前缀,肯定是由$x - 1$之前的某个操作后的序列搞出来的

我们可以二分这个序列是第几次操作后的序列

二分得到一个$ans$,它会对这个前缀产生一些贡献,可能还会再剩下一些

但剩下的不会超过$len(prefix)$ % $len(sequence(ans))$

然后就是一个结论,一个数膜一个比它小的数,最多膜log次

于是就是$O(log^2n)$的

F.Fraction of Fractal

给你一个黑白图案和一个分形次数$k$

每次分形是用$k-1$次分形当做“黑格”,大白方块当做“白格”如初始图案那样拼起来

问最后有多少黑色连通块,取膜

$k \leq 10^{18}$

sol:

这么大 矩阵快速幂

比上一题好想一点...

我们设$x$为初始黑块数

首先,如果分形边界没有黑格,直接就是$x^{k}$

只有当它上下左右连通的时候才会产生影响

1.如果全都连通,直接就是$1$

2.如果仅有上下连通或者左右连通

因为旋转90度的话这两个就是一种情况了,我们现在只考虑左右连通的情况

我们可以dp

$f[i]$表示$i$阶分形黑色连通块数量

$g[i]$表示$i$阶分形有多少个联通块满足,当它跟它的复制左右拼起来时会和一个联通块连在一起

转移就是$f[i] = f[i - 1] * x - g[i - 1] * w$

然后$g[i] = f[i -1] * y$

$w$表示原图中有多少对左右相邻的黑格

$y$表示原图中最左边一列和最右边一列拼起来有多少黑色相邻

这样就是一个齐次递推式,我们可以矩阵乘法

AtCoder AGC #3 Virtual Participation的更多相关文章

  1. AtCoder AGC #2 Virtual Participation

    在知乎上听zzx大佬说AGC练智商...于是试了一下 A.Range Product 给$a$,$b$,求$\prod^{b}_{i=a}i$是正数,负数还是$0$ ...不写了 B.Box and ...

  2. AtCoder AGC #4 Virtual Participation

    我好懒啊QAQ 老规矩 从C开始 C.给一个矩阵,里面有一些紫色方块,你需要涂两个矩阵,一个红色,一个蓝色,保证你涂的颜色四连通 然后把红色蓝色矩阵叠起来要求紫色的地方必须是紫色,其他地方不能是紫色 ...

  3. 2015 Multi-University Training Contest 4 hdu 5334 Virtual Participation

    Virtual Participation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Ot ...

  4. 记人生中第一场认真打的CF——CF1000(虽然是Virtual participation)

    老师说下午要让我们(来自开明的新高一同学)感受一下CF,于是下午2:20我们就集中到了机房.老师教我们用Educational Codeforces Round 46 (Rated for Div. ...

  5. 【做题记录】AtCoder AGC做题记录

    做一下AtCoder的AGC锻炼一下思维吧 目前已做题数: 75 总共题数: 239 每一场比赛后面的字母是做完的题,括号里是写完题解的题 AGC001: ABCDEF (DEF) AGC002: A ...

  6. 【题解】Atcoder AGC#16 E-Poor Turkeys

    %拜!颜神怒A此题,像我这样的渣渣只能看看题解度日╭(╯^╰)╮在这里把两种做法都记录一下吧~ 题解做法:可以考虑单独的一只鸡 u 能否存活.首先我们将 u 加入到集合S.然后我们按照时间倒序往回推, ...

  7. 【题解】Atcoder AGC#01 E-BBQ Hard

    计数题萌萌哒~ 这道题其实就是统计 \(\sum_{i=1}^{n}\sum_{j=i+1}^{n}C\binom{a[i] + a[j]}{a[i] + a[j] + b[i] + b[j]}\) ...

  8. 【题解】Atcoder AGC#03 E-Sequential operations on Sequence

    仙题膜拜系列...首先我们可以发现:如果在截取了一段大的区间之后再截取一段小的区间,显然是没有什么用的.所以我们可以将操作序列变成单调递增的序列. 然后怎么考虑呢?启示:不一定要考虑每一个数字出现的次 ...

  9. hdu5334(2015多校4)--Virtual Participation(构造)

    题目链接:pid=5334">点击打开链接 题目大意:给出一个数字k,要求做出一个长度小于等于10^5的序列.该序列中不同样的连续子序列有k个. 构造啊,.,,,,一点辙都没有 使用连 ...

随机推荐

  1. linux安装svn客户端subversion及使用方法

    1.下载 [maintain@HM16-213 software]$ wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1 ...

  2. 12306 外包给阿里巴巴、IBM 等大企业做是否可行?

    知乎上看到的,转载过来,雅俗共赏 12306首秀被骂的狗血喷头后铁道部找来IBM.阿里巴巴等大企业要解决方式,给出的条件是资金管够可是问题得解决. 几大企业最后都拒绝了(当中阿里巴巴最后负责了排队系统 ...

  3. linux下性能监控工具

    一.  Linux 性能监控的概述 系统由若干子系统构成,通常改动一个子系统有可能影响到另外一个子系统.甚至会导致整个系统不稳定.崩溃. 所以说优化.监測.測试一般是连在一起的,并且是一个循环并且长期 ...

  4. jxl切割excel文件

    近期在实施一个项目.当中一项工作是处理历史数据. 客户提供过来的数据是excel表格,超过20万条记录,因为目标系统导入限制,每次仅仅能导入大小不超过8M的文件.所以须要对这些数据进行切割处理.在手工 ...

  5. hibernate 配置文件无自动提示

    在编辑 *.hbm.xml 文件时,myeclipse 带有自动提示功能,但 eclipse 是没有自动提示功能的.需要自己手工加上:           1.打开项目中任意一个 *.hbm.xml ...

  6. windows下如何快速优雅的使用python的科学计算库?

    Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy.pandas和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些 ...

  7. eclipse中三大利器

    eclipse中两大利器: 首先说下用eclipse开发工具.进行java代码,开发的时候,我们开发完成以后.需要测试.大部分我们用Junit测试工具.可是内部的代码覆盖率.和结构我们看的不是那么详细 ...

  8. Android—— 4.2 Vold挂载管理_NetlinkManager (四)

    在前文Android-- 4.2 Vold挂载管理_主体构建main (一)中有结构图表示,Vold是kernel与用户层的一个交互管理模块. Android-- 4.2 Vold挂载管理_Volum ...

  9. Error -27728: Step download timeout (120 seconds)的解决方法(转)

    LR中超时问题解决方法 超时错误在LoadRunner录制Web协议脚本回放时超时经常出现. 现象1:Action.c(16): Error -27728: Step download timeout ...

  10. 【题解】[P4178 Tree]

    [题解]P4178 Tree 一道点分治模板好题 不知道是不是我见到的题目太少了,为什么这种题目都是暴力开值域的桶QAQ?? 问点对,考虑点分治吧.直接用值域树状数组开下来,统计的时候直接往树状数组里 ...