csp-s模拟106
这场其实心态十分爆炸,首先一下午改上次破T3卡常一下午没过,心情十分暴躁。上来开题不顺利,T1想了一个小时没动。于是跳到T2,看T2的80pts貌似可拿就先打了。T3只会判10分,又想打个$2^{2N}$暴力看能不能骗点分。回头再看T1,恍然发现是个$N^3 dp$,打完了想对拍却不太会打暴力。又去检查T2。最后结果:A了T1,T2只有40分,T3爆零(数据分治判错了)。十分出乎意料的是T1、T2均30人左右AC,太强了吧。T2的部分分可能并没有数据。
T1:
把环拆成两倍的链,考虑$dp$,设$f[i][j]$表示到$i$处向前合并了长度为j的集合时的最优答案,最终目标$max{f[i][N]},N<i<=2N$,转移前需要预处理区间颜色数,做到$O(1)$转移,$f[i][j+k]=\max \{f[i][j]+f[i-j][k]+cnt[i-k-j+1][i-j]*cnt[i-j+1][i] \}$(枚举合并两个集合的长度)。
T2:
40pts:
先考虑如果不下滑,一定是按$a$从大往小嗑药。有下滑,最后一步一定不用下滑,枚举最后一步的药,之前每一步按$a-b$从大往小选取,目标高度为L减去相应的$a$。$O(N^2)$。
100pts:
考虑如何快速计算出最后一步之前最少需要多少药才能到达目标高度。如果没有放水,那么排序之后直接前缀和+二分就可以。有了水位的限制,我们的答案要在被淹死之前。也就是要判断某一天是否已被淹死。同样记录放水的前缀和(就是每天的水位),用人的高度减水的高度,维护这个差值的前缀$min$,可以初步判断某一天是否被淹死。但是我们枚举了最后一步,而前缀$min$是静态的,就是说,在二分时判断第$m$天,若$m$比最后一步的顺序靠前,那么用前缀$min$就直接可以;若$i$在$m$前,那么在$i$之前的天照样前缀$min$不影响,而$i$之后的每一天实际上要减去上一天的水位(因为$i$为最后一步不能算),所以维护每一天的高度前缀和减去上一天的水位的$min$值。因为查询区间左端点不再只是$1$,所以$st$表维护。最终二分时加上判断这一天在淹死之前的条件。$O(N \log N)$。
T3:
简单学了一下博弈论和SG函数,但这题的难点其实在于转化和建模。
10pts:
没有全翻正的情况,只需判断最后谁不能翻了,即$ (H+W)\&1 $。
30pts:
需要判断出是否存在全翻正的方案。每行、每列只能翻一次,对于一个硬币,如果它是正,要么一次也不翻,要么翻行和列;如果是反,需要反行或列。对于这样的问题很想二分图,我们抽象成图:每行、每列各为一个点,如果有硬币$(x,y)$为正,向行点$x$、列点$y$连一条“边0”,否则连"边1”。这样做的意义是,颜色1表示翻,0表示不翻,要让最终硬币全翻正。最后染色,经过"边1"时将颜色$xor 1$,判断是否冲突。
100pts:
对于一个$ICG$,它的必胜局面为$SG!=0$,多个ICG和起来总的SG为每个子游戏的异或和。对于本题来说建图后每个联通块成为了一个子游戏,根据SG函数判断先手胜负。考虑每一个联通块,最后胜局落在谁手里和这个联通块需要多少次操作有关。设这个联通块内需要操作的点有$a$个,不需操作的有$b$个,$a$,$b$可以互换因为先手可以选择。一个联通图如果是$a$、$b$都是偶数,先手必败,$SG=0$;如果$a$、$b$都是奇数,后继局面$SG$都是$0$,所以本局面$SG=1$,先手必胜;如果$a$、$b$一奇一偶,后继局面$SG=1$或$SG=0$,本局面$SG=2$,先手必胜。最终根据子游戏异或和判断。
csp-s模拟106的更多相关文章
- csp模拟赛低级错误及反思
\(csp\)模拟赛低级错误及反思. 1.没开\(longlong\). 反思:注意数据类型以及数据范围. 2.数组越界(前向星数组未开两倍,一题的数据范围应用到另一题上,要开两倍的写法为开两倍数组) ...
- CSP 201612-3 权限查询 【模拟+STL】
201612-3 试题名称: 权限查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权 ...
- [考试反思]1109csp-s模拟测试106:撞词
(撞哈希了用了模拟测试28的词,所以这次就叫撞词吧) 蓝色的0... 蓝色的0... 都该联赛了还能CE呢... 考试结束前15分钟左右,期望得分300 然后对拍发现T2伪了写了一个能拿90分的垃圾随 ...
- CSP复赛day2模拟题
没错,我又爆零了.....先让我自闭一分钟.....so 当你忘记努力的时候,现实会用一记响亮的耳光告诉你东西南北在哪. 好了,现在重归正题: 全国信息学奥林匹克联赛(NOIP2014) 复赛模拟题 ...
- 【CSP模拟赛】Freda的迷宫(桥)
题目描述 Freda是一个迷宫爱好者,她利用业余时间建造了许多迷宫.每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接相连,走廊都是双向通过. 黄昏 ...
- 【CSP模拟赛】starway(玄学建边 最小生成树)
问題描述 小w伤心的走上了 Star way to heaven. 到天堂的道路是一个笛卡尔坐标系上一个n×m的长方形通道(顶点在(0,0))和(n,m)),小w从最左边任意一点进入,从右边任意一 ...
- @CSP模拟2019.10.16 - T3@ 垃圾分类
目录 @description@ @solution@ @accepted code@ @details@ @description@ 为了保护环境,p6pou建设了一个垃圾分类器. 垃圾分类器是一个 ...
- CSP模拟赛2游记
这次由于有课迟到30min,了所以只考了70min. 调linux配置调了5min,只剩下65min了. T1:有点像标题统计,但要比他坑一点,而且我就被坑了,写了一个for(int i=1;i< ...
- CSP模拟赛游记
时间:2019.10.5 考试时间:100分钟(连正式考试时间的一半还没有到)题目:由于某些原因不能公开. 由于第一次接触NOIinux系统所以连怎么建文件夹,调字体,如何编译都不知道,考试的前半小时 ...
随机推荐
- 前端:table、thead、th、tr、td
table:表格:thead:表头:tr:行:td:单元格:th:一行的首个单元格 tbody包含行的内容下载完优先显示,不必等待表格结束.另外,还需要注意一个地方.表格行本来是从上向下显示的.但是, ...
- 操作RDS文档说明
操作RDS文档,让你对阿里云的知识更加了解.
- Java 之 泛型
一.泛型概述 集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成 Object 类型.当我们取出一个对象,并且进行相应的操作,这时必须采用类型转换. 先观察下面代码: publ ...
- # JDK7+ MethodHandle
简单例子 import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.i ...
- XML文件解析之DOM解析
XML文件是一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.基本的解析方式包括DOM解析和SAX解析,具体来说包括DOM解析,SAX解析,DOM4J解 ...
- Oracle insert /*+ APPEND */原理解析
https://blog.csdn.net/xiaobluesky/article/details/50494101 关于insert /*+ append */我们需要注意以下三点: a.非归档模式 ...
- Vue获取数据渲染完成事件
主要代码是这两坨 this.nextTick(function(){ alert('数据已经更新') }); this.$nextTick(function(){ alert('v-for渲染已经完成 ...
- vim调试Shell脚本: unexpected EOF while looking for matching
往往在编写脚本完后测试,出现错误需要调试,vim 是一种强大的文本编辑器,对调试也很有帮助.如果指定用不同的颜色显示某些错误,通过配置 .vimrc 文件就会替您完成大部分调试工作. 小柏在测试脚本时 ...
- 深度解析Droupout与Batch Normalization
Droupout与Batch Normalization都是深度学习常用且基础的训练技巧了.本文将从理论和实践两个角度分布其特点和细节. Droupout 2012年,Hinton在其论文中提出Dro ...
- ASP.NET Core 2.0身份和角色管理入门
见 https://blog.csdn.net/mzl87/article/details/84892916 https://www.codeproject.com/Articles/1235077 ...