AGC003


A Wanna go back home

= =

https://agc003.contest.atcoder.jp/submissions/7910739

B Simplified mahjong

直接腾讯。

https://agc003.contest.atcoder.jp/submissions/7910863

C BBuBBBlesort!

考虑将\(a\)分成\(L=a[::2]\)和\(R=a[1::2]\),这两个序列可以不消耗代价随意打乱,或者可以交换\(L_i\)和\(R_i\)

所以如果从两个序列中分别拿出一个元素交换代价是\(1\)

计算有多少起始序列!=目标序列的数,答案就是\(\lfloor cnt/2\rfloor\)

https://agc003.contest.atcoder.jp/submissions/7910962

D Anticube

对每个数\(x=\Pi p_i^{e_i}\),将其变成最简形式\(\Pi p_i^{E_i=e_i\mod 3}\)不影响答案

然后一个数\(x=\Pi p_i^{E_i}\)对应的满足\(xy\)是完全立方数的\(y\)只有一个,那就是\(\Pi p_i^{-E_i\mod 3}\)

对每个数计算一下出现了几次,如果它和另一个数互斥,则删掉数量较小的那一堆

(特判一下,如果有一堆化简后是\(1\)就代表都是完全平方数,会和自己互斥,这一对只能随便选\(1\)个)

E Sequential operations on Sequence

毒瘤

对于缩小操作,那么前面一些操作会没用,先用一个单调栈去除掉无用操作,这样\(q\)就单调递增了

从后往前考虑,每次拿出最后一个操作,计算它对答案的贡献

\(q_i\)会从\(q_{i-1}\)循环复制过来,就会被分成很多个\(q_{i-1}\)和一段前缀

维护一个\(mul_i\),这差不多是一个标记,表示最后的序列会加上\(mul_i\cdot A[1,q_i]\)

(最后序列加上\(k\cdot A[1,r]\)的意思是会再出现\(k\)个和\(A[1,r]\)一样的数

具体要实现这样一个函数:\(work(p,M)\),表示最后序列加上\(M\cdot A[1,p]\)

如果\(p\leq q_1\)(\(q_1\)一定不大于\(n\))那么\(ans_1\)到\(ans_p\)要加上\(M\);

否则和前面一样的,找到第一个可行的操作,然后递归下去

具体看代码= =

https://agc003.contest.atcoder.jp/submissions/7917606

F Fraction of Fractal

神题Orz

首先特判掉一些情况:

  • 上下连通(上下拼起来仍连通)且左右连通,那么最后一定依然连通,输出1
  • 上下,左右都不连通,那么最后每次分形都不会有连通块接在一起,答案是\(cnt_1^{K-1}\)

现在只有一种情况:左右连通(上下的话翻过来

1e18显然要矩乘dp,设\(f_{i,0}\)表示\(i\)层分形图的连通块数,\(f_{i,1}\)表示((在当前图形最左有东西)和(如果左右拼这个图形,该连通块会和更左边一个连通块拼接(这个连通块可能是自己也可能是原来最右边的连通块)))的\(x\)连通块数

现在是转移,

\(f_{i,1}=f_{i-1,1}\times c\),\(c\)为在初始图形最左和最右都有东西的\(x\)坐标数

\(f_{i,0}=f_{i-1,0}\times cnt_1-f_{i-1,1}\times a\),\(a\)为初始图形左右相邻两个坐标都是1的方案数

就可以矩乘了

https://agc003.contest.atcoder.jp/submissions/7919234

A|G\C003的更多相关文章

  1. Storyboards Tutorial 03

    这一节主要介绍segues,static table view cells 和 Add Player screen 以及 a game picker screen. Introducing Segue ...

  2. 文件图标SVG

    ​<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink ...

  3. [转]Linux下g++编译与使用静态库(.a)和动态库(.os) (+修正与解释)

    在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库 ...

  4. CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

    ---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update....   yum install 或者 添加y ...

  5. Linux deepin 下sublimes配置g++ openGL

    参考 :http://blog.csdn.net/u010129448/article/details/47754623 ubuntu 下gnome只要将代码中deepin-terminal改为gno ...

  6. [翻译svg教程]svg 中的g元素

    svg 中的<g>元素用来组织svg元素.如果一组svg元素被g元素包裹了,你可以通过对g元素进行变换(transform),被g元素包裹的元素也将被变换,就好这些被svg包裹的元素是一个 ...

  7. 软件工程:黄金G点小游戏1.0

    我们要做的是黄金G点小游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值. ...

  8. 2016huasacm暑假集训训练五 G - 湫湫系列故事——减肥记I

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/G 这是一个01背包的模板题 AC代码: #include<stdio.h&g ...

  9. 毫秒级的时间处理上G的图片(生成缩略图)

    测试环境: 测试图片(30M): 测试计时方法: Stopwatch sw1 = new Stopwatch(); sw1.Start(); //TODO...... sw1.Stop(); stri ...

随机推荐

  1. 2019-07-31 Jquery

    Jquery是什么? jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是“ ...

  2. vuex简单化理解和安装使用

     1.简单化理解 首先你要明白 vuex 的目的 就是为了 集中化的管理项目中 组件所有的 数据状态 (state) 0. 第一步你要明白 , store 的重要性 , store 类似一个中央基站, ...

  3. Redux 中间件和异步操作

    回顾一下Redux的数据流转,用户点击按钮发送了一个action,  reducer 就根据action 和以前的state 计算出了新的state, store.subscribe 方法的回调函数中 ...

  4. Java 流程控制 之 分支结构——条件判断语句

    一.判断语句 1.判断语句1-- 单 if 语句(单分支结构) 语法格式: if(条件表达式){ 语句体; }  执行流程: 首先判断条件表达式看其结果是 true 还是 false: 如果是 tru ...

  5. Java 之 自定义异常

    1.为什么需要自定义异常类 Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是没有定义好的,此时我们根据自己业务的异常情况来定义异常类.  一些异常都是 Java ...

  6. win10系统下安装Ubuntu18.04双系统

    1.http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso下载Ubuntu 18.04镜像,准备好一个空的U盘 2.下载ru ...

  7. Linux service进程管理

    Linux进程基本介绍: 1)在Linux中,每个执行的程序(代码)都称为一个进程.每一个进程都分配一个ID号. 2)每一个进程,都对应一个父进程,而这个父进程可以复制多个子进程.例如www服务器. ...

  8. (三)MongoDB增、删、改、查

    (三)MongoDB增.删.改.查 mongodb 2018年03月07日 09时31分40秒 插入基础 查询 基础查询find().findOne() 指定返回的字段 关系查询 逻辑运算 复杂数据的 ...

  9. 轻量级C#编辑器RoslynPad((基于Roslyn编译器))

    简介 RoslynPad是一个Apache 2.0协议开源的轻量级C#编辑器.支持自动完成,语法提示,修改建议等功能.很适合平时随手写个C#程序看看运行结果. 目前版本:0.10.1,无需保存也可以运 ...

  10. Tessy — 嵌入式软件单元测试/ 集成测试工具

    Tessy 源自戴姆勒- 奔驰公司的软件技术实验室,由德国Hitex 公司负责全球销售及技术支持服务,是一款专门针对嵌入式软件进行单元/ 集成测试的工具.它可以对C/C++ 代码进行单元.集成测试,可 ...