Round2轮到我出了>_<(目测总共10人参加 实际共七人)

具体情况:

  #1: KPM,360

  #2:ccz181078,160

  #3:child,150

可惜KPM没看到第一题样例里有0。。(当然是我数据范围没写好TAT

&题面出现严重错误。。模数应该是10^9+9结果我题面里写成了10^9+7(坑了KPM80分。。 然而其他人只写暴力是什么鬼

Problem A pears:

    实际情况: AC人数:3            平均分:45+

    远距离目测:   AC人数:5        平均分:70~80;

  把梨的数量除K,就是求最小路径覆盖了。原题bzoj3997 “组合数学”。(KPM写过原题,但谁都知道这不会有什么影响的;(很好奇为啥其他人似乎没写过 大家都写过>_<

  DAG的最小路径覆盖=最长反链。

  因为这是个只能往右或往下走的网格图。所以反链里的点都是左下-右上的。跑个O(n^2)的DP就行了。

  f[i][j]表示点(i,j)左下(不包括左或下)最长反链的长度。

Problem B Rewrite

    实际情况: AC人数:1          平均分:32+

    远距离目测:   AC人数:4        平均分:60;

  原题为CH上"Unis Cup 1.0"的B题。当然这种类型的题本身也很常见。

  既然无耻地考原题,肯定要无耻地扔上原题的题解了

   S[i]表示位置1~i中,O比I多多少个。

  

  “钥匙”显然就是那个“优美串”了。

  数据范围大概能卡掉O(nlogn)的吧。。。毕竟不是CH神姬 显然根本卡不住。。nlogn的只花了0.2s就跑过去了T_T

  顺便口胡一下O(nlogn)做法..就是把S[]求出来后,用平衡树什么的对每个位置的S值求前驱后继。一棵奇数,一棵偶数

  所以这题关键还是要明白S[1]~S[i]的值是连续的>_<。

Problem C    BCD Code
    实际情况: AC人数:0          平均分:10+

    预测情况就不口胡了。。因为我的题解直到比赛前一天才锁上。。所以很难说啊。。。

  还是原题>_<。。原题是ZOJ3494的BCD Code(我连题目名字都没改= =)

  具体题解见 http://www.cnblogs.com/czllgzmzl/p/5221802.html 或者网上一搜一大坨

  当然了原题只要求10进制转2进制。。。其实扩展到10以内的进制转换的话。。也就多个两三行吧TAT

  再加上我不久前才写这篇题解。。大概会被很多人秒的吧。。。

  复杂度非常的玄学。。当然是指实际运行速度。

  如果不预处理,用到的时候再调记忆化搜索的话可以节省非常非常多的时间。。(所以我纠结了很久要不要卡常...然而怕被打233。。。毕竟理论复杂度也有400w了。

Problem D   Order1

  实际AC人数:2         平均分:35+

  想要求出长度在[x,len]的方便子串的个数,显然容斥一发就行了。

  比方说长度为[3,5]方便子串的个数就是:[ 第(1,2,3位),第(2,3,4位),第(3,4,5位)出现次数 ]-[ 第(1,2,3,4),(2,3,4,5)位出现次数 ]

  至于为啥这样可以画个图看看,

  或者直接把算到的东西都摆出来:

    求出[ 第(1,2,3位),第(2,3,4位),第(3,4,5位)出现次数 ],那么(1,2,3)(2,3,4)(3,4,5)相等的会被算到一次,(1,2,3,4)(2,3,4,5)的会被算到两次,(1,2,3,4,5)会被算到3次。所以要减去重复累计的那部分。

  长度为[x,y]的就是[x,len]-[y+1,len]。

  

  本来只有这样的话我们种21棵权值线段树就好了(或者说是len*(len+1)/2棵),(权值范围为1~26^6,就是hash啦)。

  但因为要查询一段区间内的东西。。所以我们可持久化一下。。。就可以解决本题了。

  不用担心空间问题。。反正都写主席树了,怎么玩都是动态开节点吧。标程还用不到256M呢。。

  时间复杂度O(21*n* log(26^6))。

UPD:也可以写可持久化trie。。比权值线段树高明到不知道哪里去了TAT(我果然是傻逼

UPD×2:根据KPM的AC代码可得,主席树什么的其实可以用一个树状数组就解决= =(突然变成noip普及组题目了

1:感谢初二爷icedreamer提供脑洞。(初二爷顺便一眼秒ABC的解法。。也就是说这套题5min就被嘴巴AK了T_T

STOI补番队互测#2的更多相关文章

  1. STOI补番队胡策

    ROUND 1 第一轮是我出的. 比赛情况: #1 NanoApe 300 (完美AK) #2 && #3 swm_sxt / ccz  200 A.candy 这道题就是个nim游戏 ...

  2. 【河北省队互测】 gcd BZOJ 2818

    Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sa ...

  3. [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子

    Description 已知一个字符串S,求它有多少个形如A+B+A的子串(len(A)>=k,len(B)>=1 ). Input 第一行一个字符串,第二行一个数 k. Output 仅 ...

  4. bug运输[辽宁2014年省队互测一]

    奇奇怪怪的题目,不知道他要我们干什么. 我们观察一波局势,发现答案最大不过5.因为如果答案是6或以上的话,我们就至少要2^(5*5)个5*5的方格. 仔细计算一波时间复杂度,再信仰一波,坚信暴力压正解 ...

  5. GCD BZOJ2818 [省队互测] 数学

    题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 输入样例#1: 复制 4 ...

  6. 题解 P6271 [湖北省队互测2014]一个人的数论

    通过这道题学了伯努利数,写篇题解推一下 题目 先推一下式子 \[\sum_{i=1}^ni^d[gcd(i,n)=1] \] \[\sum_{i=1}^{n}i^d\sum_{k|i}\sum_{k| ...

  7. 补番计划 (长沙理工大学第十一届程序设计竞赛)(双端队列+set容器+string)

    补番计划 Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submissi ...

  8. 【loj2461】【2018集训队互测Day 1】完美的队列

    #2461. 「2018 集训队互测 Day 1」完美的队列 传送门: https://loj.ac/problem/2461 题解: 直接做可能一次操作加入队列同时会弹出很多数字,无法维护:一个操作 ...

  9. 【2018集训队互测】【XSY3372】取石子

    题目来源:2018集训队互测 Round17 T2 题意: 题解: 显然我是不可能想出来的……但是觉得这题题解太神了就来搬(chao)一下……Orzpyz! 显然不会无解…… 为了方便计算石子个数,在 ...

随机推荐

  1. 4.前端基于react,后端基于.net core2.0的开发之路(4) 前端打包,编译,路由,模型,服务

    1.简要的介绍 学习react,首先学习的就是javascript,然后ES6,接着是jsx,通常来说如果有javascript的基础,上手非常快,但是真正要搭建一个前端工程化项目,还是有很多坑的 搞 ...

  2. Android Looper原理分析

    实际业务使用场景: 某业务场景需要将本地数据传递到服务端,服务端再返回传递成功或者失败的信息. 1. 失败时: 重传5次 2.设置客户端请求的最小时间间隔,这个间隔内最多请求1次 具体逻辑如下:(这里 ...

  3. HTML干货

    什么也不想说 <%@ page language="java" import="java.util.*" pageEncoding="utf-8 ...

  4. cd 命令详解

    cd 命令 作用:  cd 用来切换目录,目录表示法可为绝对路径或相对路径, 若目录名称省略,则变换至使用者的登陆目录. ~ 可表示为家目录,.为当前目录,..为上级目录 语法: cd (选项)(参数 ...

  5. Qt数据库集成应用封装

    平时的大大小小的项目中,基本上都需要与数据库打交道,会遇到各种各样的应用场景,本人主要遇到四种场景1:数据库自动重连,例如mysql数据库中经常遇到服务器挂掉的情况,需要自动检测并重新连接数据库.2: ...

  6. lastIndex对正则结果的影响

    前言 今天遇到一个问题,用正则表达式去检查同一个字符串时,交替返回true和false.无奈之下,重新翻了翻权威指南,发现罪魁祸首原来是lastIndex.可在控制台尝试下 let reg = /[\ ...

  7. Odwiedziny[POI 2015]

    题目描述 给定一棵n个点的树,树上每条边的长度都为1,第i个点的权值为a[i]. Byteasar想要走遍这整棵树,他会按照某个1到n的全排列b走n-1次,第i次他会从b[i]点走到b[i+1]点,并 ...

  8. 去除测序reads中的接头:adaptor

    之前用c写过一个程序,查找reads中是否包含了adaptor,如果检测到的话就过滤掉含有adaptor的reads,这次在过滤完数据之后发现接头序列比较多,为了提升组装效果,又不能很大地影响数据量, ...

  9. Linux入门篇(三)——文件与目录

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  10. python3基础(七)函数基础

    Function 函数是一段组织好的能够实现特定功能或者逻辑的代码块,函数代码在文件执行时读入内存并不执行,在调用函数时执行,简单来说是把一段代码封装给一个函数名(可以用变量的概念去理解,即把一段代码 ...