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系统所以连怎么建文件夹,调字体,如何编译都不知道,考试的前半小时 ...
随机推荐
- 基于【 centos7】三 || 分布式文件系统FastDFS+Nginx环境搭建
1. FastDFS介绍 1.1 FastDFS定义 FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用 ...
- node express4 + 前端自动刷新
官网快速生成:http://www.expressjs.com.cn/starter/generator.html 1.安装 express 1.应用生成器工具 express-generator ...
- [Vuex系列] - 细说state的几种用法
state 存放的是一个对象,存放了全部的应用层级的状态,主要是存放我们日常使用的组件之间传递的变量. 我们今天重点讲解下state的几种用法,至于如何从头开始创建Vuex项目,请看我写的第一个文章. ...
- Flutter 自定义绘制 View
在 Flutter 中自定义 View 有两种方式: 组合已有控件 自定义绘制 如何自定义绘制 有两个类做这件事情: CustomPaint :会在绘制阶段提供一个 Canvas 画布 CustomP ...
- 315 · Istio1.1 功能预告,真的假不了
Istio 1.0版本发布到现在,已经过去8个月.Istio1.1的候选版本也到了rc5,预计近期会正式发布1.1.此版本包含了许多错误修复,在流量管理,安全,策略和遥测,多集群等领域添加了新的功能. ...
- 推荐排序---Learning to Rank:从 pointwise 和 pairwise 到 listwise,经典模型与优缺点
转载:https://blog.csdn.net/lipengcn/article/details/80373744 Ranking 是信息检索领域的基本问题,也是搜索引擎背后的重要组成模块. 本文将 ...
- JAVA遇见HTML——JSP篇:JSP内置对象(下)
什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述 ...
- LevelDB的源码阅读(一)
源码下载 git clone https://github.com/google/leveldb.git 项目结构 db/, 数据库逻辑 doc/, MD文档 helpers/, LevelDB内存版 ...
- phpstorm和ftp搭配使用
简单使用
- iar8.32版本关于cmsis的说明
平台是cubemx5.3 keil5.26 带freertos,使用iar8.32,在上图中的use cmsis 打勾与否都能编译通过.