呼。。

正式开始暑假集训。

今天一上午还在搞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考试总结的更多相关文章

  1. [心得]暑假Day 8

    em. 一波爆炸后回到了一个原始位置rank33 最近两场考试没啥状态 总感觉都读不懂题目了 T1 因为有的边要经过两次,不妨把边复制成双倍,那么再去掉2条,如果能一遍把剩下的边过完,也就是成为一笔画 ...

  2. [心得]暑假DAY 5

    好久没更新博客了 最近事情太多太多 tarjan进阶,点双边双 T2压力 最大坑点:点双缩点 它不是直接把割点连成树(割点会有环) 而是用割点作”中介“,联接点双构成一颗树(所谓圆方树) 接着在上面进 ...

  3. 正睿 2019 省选附加赛 Day1 T1 考考试

    比较奇怪的一个枚举题. 注意到10=2*5,所以10^k的二进制表示一定恰好在末尾有k个0. 考虑从小到大去填这个十进制数. 填的时候记录一下当前的二进制表示. 每次尝试去填0或者10^k. 如果要填 ...

  4. noip2014 考试总结

    noip:最初估分580,明间数据:570,初测估分:510-570,最终得分:570 这次noip怎么说呢,发挥的还是比较理想吧,不过还是犯了一些“低级错误”,虽然没有造成十分严重的后果,但是还是不 ...

  5. 2019年11月18日 JAVA期中考试 增删改查

    一.题目 石家庄铁道大学 青年志愿者服务网(20分)   1.项目需求: 为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需 ...

  6. 20150127 学军集训 day1

    day1 就直接考试... 和说好的不一样啊 第一题看都没怎么看就pass了,构造的题我一向没什么把握.然后瞟到第三题有30分可做,虽然要写的代码很大...反正我是写习惯了..期间纠结了一会还写了一个 ...

  7. 记我一年的OI之路

    upd:感觉没必要设密码了吧,把这个发出来还能显得自己弱颓一些.. 自从我刚刚接触c++,到现在已经快一年了吧,这一年中,我学到了很多,失去了很多,也得到了很多. 开通了blog,那就从现在,就是一个 ...

  8. CTSC2016&&APIO2016滚粗记&&酱油记&&游记<del>(持续更新)</del>

    挖一波坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs. ...

  9. $PkuWc\ 2018$ 酱油记

    PkuWc 2018 酱油记 1. Day -INF 又停了一个月课...... 感觉这个月的收获还是蛮大的,刚来的时候还只会线段树,到现在LCT都学了... 这个月不停在考试,自己考试技巧也提升了不 ...

随机推荐

  1. bash 中的 :=、=、:-、-、=?、?、:+、+

    bash 中的 :=.=.:-.-.=?.?.:+.+ 来源 https://www.cnblogs.com/fhefh/archive/2011/04/22/2024750.html 变量替换和变量 ...

  2. Groovy--使用模板引擎和GroovyShell执行插值字符串

    package curveJudge import groovy.text.SimpleTemplateEngine /** * Created by Jxy on 2019/8/26 17:16 * ...

  3. Asp.Net Zero轻量级审核流设计

    复杂的业务系统中往往会集成工作流或审核流,但有些轻量及的业务系统对这些功能的需求并不大,有的系统甚至只需要审核功能就够了.这里给大家介绍在Asp.Net Zero中通用轻量及审核流设计,功能具备审核权 ...

  4. angular流程引擎集成

    工作流在oa和erp中十分常见,现有成熟的工作流通常是在客户端实现的,web实现工作流的案例十分稀少.要实现web工作流必须要有强大的流程设计器,这里为大家介绍一款基于angular的流程控件,其功能 ...

  5. Git 简要教程

    Git是一个管理系统,管理版本,管理内容(CMS),管理工作等. Git主要还是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 工作流程是这样的: 克隆 Git 资源作为工作目录 ...

  6. C++第四次作业--继承与派生

    C++ 继承 面向对象程序设计中最重要的一个概念是继承.继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易.这样做,也达到了重用代码功能和提高执行效率的效果. 当创建一个类时 ...

  7. Thinkphp清除缓存文件

    Thinkphp的缓存在开发中是非常烦人的,因为有的时候因为缓存的问题而出现的错误是非常难找的.删除缓存更是麻烦,还要去文件夹下删除.如果是linux开发服务器的话还要登陆服务器进行删除.所以这个时候 ...

  8. 如何在VPC中安装Ubuntu

    在虚拟机 VPC2007 中安装Ubuntu 方法A:(断网络连接) 1.用载入ISO镜像启动一台标准的 xp设置的虚拟机 2.按 F4 选择启动模式,选择图形模式并确认. 3.按 F6 在启动配置中 ...

  9. Java io 理解

    任何程序都有io部分,io是对程序来说数据流的输入和输出.这里说的流,是指有字节组成的列,不断输入程序,或者从程序中输出,我们形象称为流.Java的io流有两种,一种叫字节流,最原始的:一种叫字符流. ...

  10. Linux文件归档管理

    Linux怎样保存文件 数据 - 这里数据就是文件的内容 元数据 - 在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的结构中 文件名 - 文件名保存在名为目录项 ...