[心得]暑假DAY1 | 7-7考试总结
呼。。
正式开始暑假集训。
今天一上午还在搞7-7的考试改题
然而,该来该去,TLE48过不去了
不知道哪的问题,loj上1w3ms(卡常都没能救得了)
至于T1和T3,简单总结一下算了
排序
感觉很像分治的样子
因为要想得到最终的顺序序列,它的子序列一定要是顺序
具体的,进行dfs,搜索每一次的操作
我们只有在小区间合法的情况下在交换大区间
最后得到一个合法的操作方案
如果确定了操作的个数和位置,操作顺序改变,又能产生新序列
所以每次dfs找到新的操作个数,得到的贡献是out的阶乘
统计答案即可
放棋子
很重要的是
一些确定的棋子所在的行列位置不影响转移
那么用g[i][j][k]表示k枚相同的棋子占任意i行,j列的方案数
g转移:g[i][j][k]=C(i*j,k0)-sigma(g[l][r][k])*C(i,l)*C(j,r) l<=i,r<=j && !(l==i && r==j)
找到转移的补偿量很重要
那么今天开始了图论专项
菜肴制作
T1就栽了
一开始想直接拓扑最小字典序,很快发现显然不行
那么又想把 菜的每个限制都聚到一起,进行拓扑排序,也有问题
原来是倒序输出反向连边的拓扑最大序
因为小序号要尽量在前,就是说,先一心把小的输出了,再考虑大序号
比如样例
5 2
4 3
制作1之后,虽然当前可制作的4比5小,但我们要先考虑做2,也就是把5做了,再2,4,3
可以发现大的序号选或不选 取决与 它限制的小序号
那么这其实是“小的限制大的”了
于是反向建边
这样得到的拓扑序用倒序输出的话可以满足原来的限制
那么在反图中我们先做大序号,倒序输出即可成为 小序号尽可能先做
矩阵游戏
一道二分图。。
其实二分图挺迷的,有时候特别难想,但有时候也挺套路的
我们发现初始在一行/一列的黑白快在交换过程中始终在同一行/列
考虑最终,对角线格子成黑色
也就是说,每一行都对应一个专属的黑快
(这样无论怎么交换,最后都是一行专属一个)
把行/列分别为二分图的左右部分
二分图能完全匹配,就有解
约会
因为N个点N条边,所以每个图里一定有且仅有一个环
把这个环缩成点就变成一棵树,并且树根就是这个环
在树上找lca,顺便计算深度
那么对于每次询问,如果它们的lca不是树根,那么分别输出各自距离lca的距离
如果lca是树根,还要在环内操作
取环内某个点为起点,顺着路线依次排距离
我们把原始图中的点用并差集指向环中的点
那么最后就是各自距离lca的距离加上在环内走的距离
一定是一个人走,一个人停在原地等才是最优情况
比较环内两种情况:a走b等,b走a等,按题意特判即可
[心得]暑假DAY1 | 7-7考试总结的更多相关文章
- [心得]暑假Day 8
em. 一波爆炸后回到了一个原始位置rank33 最近两场考试没啥状态 总感觉都读不懂题目了 T1 因为有的边要经过两次,不妨把边复制成双倍,那么再去掉2条,如果能一遍把剩下的边过完,也就是成为一笔画 ...
- [心得]暑假DAY 5
好久没更新博客了 最近事情太多太多 tarjan进阶,点双边双 T2压力 最大坑点:点双缩点 它不是直接把割点连成树(割点会有环) 而是用割点作”中介“,联接点双构成一颗树(所谓圆方树) 接着在上面进 ...
- 正睿 2019 省选附加赛 Day1 T1 考考试
比较奇怪的一个枚举题. 注意到10=2*5,所以10^k的二进制表示一定恰好在末尾有k个0. 考虑从小到大去填这个十进制数. 填的时候记录一下当前的二进制表示. 每次尝试去填0或者10^k. 如果要填 ...
- noip2014 考试总结
noip:最初估分580,明间数据:570,初测估分:510-570,最终得分:570 这次noip怎么说呢,发挥的还是比较理想吧,不过还是犯了一些“低级错误”,虽然没有造成十分严重的后果,但是还是不 ...
- 2019年11月18日 JAVA期中考试 增删改查
一.题目 石家庄铁道大学 青年志愿者服务网(20分) 1.项目需求: 为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需 ...
- 20150127 学军集训 day1
day1 就直接考试... 和说好的不一样啊 第一题看都没怎么看就pass了,构造的题我一向没什么把握.然后瞟到第三题有30分可做,虽然要写的代码很大...反正我是写习惯了..期间纠结了一会还写了一个 ...
- 记我一年的OI之路
upd:感觉没必要设密码了吧,把这个发出来还能显得自己弱颓一些.. 自从我刚刚接触c++,到现在已经快一年了吧,这一年中,我学到了很多,失去了很多,也得到了很多. 开通了blog,那就从现在,就是一个 ...
- CTSC2016&&APIO2016滚粗记&&酱油记&&游记<del>(持续更新)</del>
挖一波坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs. ...
- $PkuWc\ 2018$ 酱油记
PkuWc 2018 酱油记 1. Day -INF 又停了一个月课...... 感觉这个月的收获还是蛮大的,刚来的时候还只会线段树,到现在LCT都学了... 这个月不停在考试,自己考试技巧也提升了不 ...
随机推荐
- Advanced Installer 不弹出预安装的软件的窗口
需求:当他电脑上没有sql server client 的时候,或没有localdb的时候,那么安装包会弹出窗口,让他选择 一个组件 一个组件的安装 太麻烦. 有没有办法,打开安装包就安装 安装的过程 ...
- maven入门-- part4 坐标和依赖
Maven的坐标为各种构件引入了秩序,任何一个构件都必须明确的定义自己的坐标,maven的坐标包括如下的元素: groupId: 定义当前Maven项目隶属的实际项目 artifactId: 该元素定 ...
- 离线下载pytorch安装包
1. 选择合适的安装包下载 https://anaconda.org/pytorch/repo?type=conda&label=main 2. 安装命令: conda install 安装包 ...
- eclipse控制台出现中文乱码的问题
在Eclipse.exe同目录下,在eclipse.ini添加:Dfile.encoding=utf-8
- 基于VS2017C++的窗口编写
自从转专业学习计算机后就想写一个简单的有点意义的东西,没有真正接触计算机之前,一直觉得写一个界面什么的很简单.但是现在我都快学了接近一年了才正式自己学习一节界面开发.我想哭-- 我现在学习的是C++窗 ...
- CF981F 二分+Hall定理
对于一个二分的答案 假设存在一个点集使得不满足Hall定理 题中给定的信息说明 左边每个点对应的右边点是一个区间 如果当前点集对应的右边区间是若干个不相交的区间组成的话说明我们还可以找到一个更小的点集 ...
- netty-1.从一个最简单的例子开始
(原) 第一篇,从一个最简单的例子开始 1.netty是干什么,怎么用,这里不作介绍,先从一个例子来了解它, netty 5.0以上的版本被废弃了,以下例子从4.1.10.Final版本开始. 2.一 ...
- 记录一下linux下两个工具和一个伪代码转换流程图工具
1.Linux下文本浏览器lynx 文本浏览器,顾名思义就是只有文本的浏览器,这个浏览器可以在命令行下打开使用 2.CURL 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可 ...
- mybatis整合Spring编码
mybatis整合Spring的核心代码 spring-dao.xml <?xml version="1.0" encoding="UTF-8"?> ...
- vmware虚拟机新增磁盘及挂载详细步骤
虚拟机新增磁盘及挂载步骤 1.新增磁盘 (1) 编辑虚拟机设置->添加 (2) 选择硬盘->下一步 (3) 选择SCSI格式,下一步 (4) 创建新虚拟磁盘,下一步 (5) 设置 ...