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系统所以连怎么建文件夹,调字体,如何编译都不知道,考试的前半小时 ...
随机推荐
- Python练习_文件操作_day8
1. 1.作业 1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的学校, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: a,将原文件全部读出来并 ...
- ajax:用于创建快速动态网页的技术
ajax是一种用于创建快速动态网页的技术. 异步的javascript和XML(JSON),主要是完成一个局部刷新. 异步:你传输吧,我先干我自个儿的事,你传好了告诉我一声 同步:你传输,我停下活儿看 ...
- js循环及for-in , for-of的区别
循环 字符串遍历:可通过for-of遍历字符串 for-in:遍历对象自身可继承可枚举属性 Object.keys():返回对象自身可枚举属性的键组成的数组 Object.getOwnProperty ...
- C++ 项目和资源导引
值得学习的C语言开源项目 注意:本文转载自:https://blog.csdn.net/a110658684/article/details/78862348 - 1. Webbench Webben ...
- linux服务器忘记密码操作
当重启镜像时候 看到这个界面的时候 按1 按1之后进入如下界面 红色区域有解释 按e是编译模式,我们按e OK 这里我们选择第二行按b 进入开发者模式,然后等待启动 然后更改密码
- bash基础——终端
前言 自学Linux的时候,我们用的显示器+键盘 是物理终端.Linux开机后,会在物理终端(显示器)之上,以软件的方式虚拟出多个终端,CentOS是6个.Ctrl+Alt+F1~6切换 默认情况下, ...
- sklearn逻辑回归实战
目录 题目要求 ex2data1.txt处理 方案一:无多项式特征 方案二:引入多项式特征 ex2data2.txt处理 两份数据 ex2data1.txt ex2data2.txt 题目要求 根据学 ...
- C# Dynamic动态对象
1.ExpandoObject dynamic expObj = new ExpandoObject(); expObj.FirstName = "Daffy"; expObj.L ...
- Js实现table单双行交替色
依稀记得,当初我刚学编程的时候还学过怎么实现表格单双行交替色,现如今早已记不清当时的实现思路,这两天突然想起,没事就自己写了一小段代码,也不知道是否是当年的思路,不过不用纠结这个问题.:) 代码很简单 ...
- sql server 存储过程和视图的区别
视图 要把视图看做是一张表,包含了一张表的部分数据或者多个表的综合数据,视图的使用和普通表一样: 视图建立并存储在服务器,有效减少网络数据流量,提高安全性: 视图中不存放数据,数据依然存放在视图引用的 ...