又是一年云参营。

所以一起刷省选题吧。

LOJ2028 「SHOI2016」随机序列

题目链接

简要社论

发现+和-可以互相抵消,于是有贡献的时候一段前缀的乘积。设\(s[i]=\prod_{j=1}^i a[j]\),则答案为\(2\sum_{i=1}^{n-1}3^{n-i}s[i]+s[n]\)。
使用线段树维护前缀积就可以了。code

LOJ2038 「SHOI2015」超能粒子炮・改

题目链接

简要社论

\[
\begin{aligned}
F(n,k)&=\sum_{i=0}^k\binom{n}{i} \\
&=\sum_{i=0}^k\binom{n \ \mathrm{mod} \ p}{i \ \mathrm{mod} \ p}\binom{n/p}{i/p} \\
&=\sum_{i=0}^p\binom{n \ \mathrm{mod} \ p}{i}\sum_{j=0}^{\lfloor\frac{k-i}{p}\rfloor}\binom{n/p}{j}
\end{aligned}
\]
差不多转成一个递归的柿子了。预处理\(F(n,k)(n,k\in [0,p))\),时间复杂度\(O(n^2+T\log n)\).code

LOJ2143 「SHOI2017」组合数问题

题目链接

简要社论

组合意义,转为在\(n\)个元素中选\(\mathrm{mod} k=r\)个元素。
矩阵乘法优化转移,时间复杂度\(O(k^3\log n)\),code

LOJ2146 「SHOI2017」寿司餐厅

题目链接

简要社论

最大权闭合子图的模板。
闭合子图:在一个有向图中的一个子图\(S\),满足\(\forall x\in S\),\(x\)不能到达\(S\)之外的点。
最大权闭合子图:字面意思(点带权)
具体到这题就是,我们发现实际上这些元素是一些互相依赖的关系(选了\(y\)才能选\(x\)),那么连一条边\(x\rightarrow y\),构成了一个有向图。
标准做法是使用最小割,设一个源点\(S\)和一个汇点\(T\),对于点\(x\),割掉与\(S\)相连的边表示不选这个物品,否则割掉与\(T\)相连的边表示选这个物品。若\(v>0\),则连一条边\((S,x,v)\),否则连一条边\((x,T,-v)\)。
那么我们看边\(x\rightarrow y\),如果不割\((x,y)\),要保证\(S\rightarrow x\rightarrow y\rightarrow T\)这条路径不存在,就是不能不选\(y\)且选\(x\)。所以连边\((x,y,+\infty)\)
直接跑一遍dinic就可以过了。code

LOJ2192 「SHOI2014」概率充电器

题目链接

简要社论

首先大家都知道是树d,设\(f[x]\)表示\(x\)没有通上电的概率,但是我们不能列出一个高斯消元的式子,不然复杂度就炸掉了。
正解是使用up down的方法,首先计算出\(g[x]\)表示只考虑\(x\)的子树,\(x\)通上电的概率,这个直接dfs一遍,并且\(f[rt]=g[rt]\)。之后推下去,计算\(x\)对\(x\)的儿子\(v\)的贡献,发现\(f_x\)对\(f_v\)就是\(f_x\)去掉\(g_v\)对它的贡献(这里比较绕,建议画图理解)
注意除0的问题,时间复杂度\(O(n)\),code

LOJ6044 「雅礼集训 2017 Day8」共

题目链接

简要社论

首先要在\(n-1\)个点中选出\(k-1\)个点作为奇数的点。
于是就变为了有标号完全二分图\(K_{n,m}\)有多少个生成树。
你可以手推行列式,也可以使用prufer序列来理解。
首先prufer序列的长度为\(n+m-2\),回想一下prufer序列和树互相转化的过程,就知道里面有\(m-1\)个位置填\([1,n]\)的数,有\(n-1\)个位置填\([1,m]\)的数,并且位置是已经固定的。
所以答案就是\(\binom{n-1}{k-1}\times k^{n-k-1}\times (n-k)^{k-1}\)。
代码?雾。。。

LOJ6045 「雅礼集训 2017 Day8」价

题目链接

简要社论

我回想起刚才好像做过一道题叫寿司餐厅,于是开始思考怎么用网络流建图。。。
然后我自闭了。。。日常不会网络流建图。。。
点开了题解,题解说只用连这些边就可以。\((S,i,\infty-w_i),(i,j+n,\infty),(j+n,T,\infty)\),然后用\(S\)连出的所有边的边权之和-最小割就可以了。其中\(i\)表示减肥药,\(i+n\)是药材。
为什么呢?跟刚才一样,割掉\((S,i)\)表示不选第\(i\)个减肥药。首先割掉中间的边没有割掉右边的边优。其次,所有边权都是\(\infty\)级别的,而且求的是最小割,所以割掉\(n\)条边,也就是不选的减肥药+选的药材=n,所以就是选的减肥药=选的药材。满足这两个条件,跑出来的就是正确答案了。
代码?咕了。。。

LOJ6046 「雅礼集训 2017 Day8」爷

题目链接

简要社论

你发现如果没有\(len\le 10\)这个限制的话,这是个open题。于是只能从这里入手。
暴力分块的话,外层二分,块内二分要两个log,比\(n^2\)还慢。
所以考虑去掉一个,不容易发现相邻几个数都是比较接近的,所以我们可以重新分块。build的时候从左往右扫,当发现\(max-min>S\)的时候就分出一个块,其中\(S\)是个常数,大约取2000,然后就可以对每一块维护\(\le i\)的数的个数(因为\(i\in [min,max]\)的值域较小)。
大概1000次修改重构一次整个序列。这样就可以过去了。
代码?咕了。。。

LOJ2036 「SHOI2015」自动刷题机

题目链接

简要社论

QNMD 省选题(逃

LOJ2037 「SHOI2015」脑洞治疗仪

题目链接

简要社论

线段树维护当前区间最大脑洞,和\(1\)的个数,修改就直接打标记。
QNMD 省选题(逃

Loj刷题记录的更多相关文章

  1. AC 自动机刷题记录

    目录 简介 第一题 第二题 第三题 第四题 第五题 第六题 简介 这就是用来记录我对于<信息学奥赛一本通 · 提高篇>一书中的习题的刷题记录以及学习笔记. 一般分专题来写(全部写一起可能要 ...

  2. PE刷题记录

    PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...

  3. leetcode刷题记录--js

    leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...

  4. Leetcode刷题记录(python3)

    Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...

  5. 刷题记录:[HarekazeCTF2019]encode_and_encode

    目录 刷题记录:[HarekazeCTF2019]encode_and_encode 一.知识点 JSON转义字符绕过 php伪协议 刷题记录:[HarekazeCTF2019]encode_and_ ...

  6. 刷题记录:[De1CTF 2019]Giftbox && Comment

    目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...

  7. 刷题记录:[强网杯 2019]Upload

    目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

  8. 刷题记录:[XNUCA2019Qualifier]EasyPHP

    目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...

  9. 刷题记录:[DDCTF 2019]homebrew event loop

    目录 刷题记录:[DDCTF 2019]homebrew event loop 知识点 1.逻辑漏洞 2.flask session解密 总结 刷题记录:[DDCTF 2019]homebrew ev ...

随机推荐

  1. 入门篇-contrail-command(对接openstack)All-In-One

    基础环境 系统: centos7.6(3.10.0-957) 64G内存 500G磁盘 关闭防火墙 systemctl disable firewalld 关闭selinux sed -i 's/SE ...

  2. Java之数据类型讲解

    Java数据类型关系图 基本数据类型 从小到大的关系图: 图中从左向右的转换都是隐式转换,无需再代码中进行强制转换 : byte i = 12; System.out.println("by ...

  3. 详解java动态代理机制以及使用场景

    详解java动态代理机制以及使用场景 https://blog.csdn.net/u011784767/article/details/78281384 深入理解java动态代理的实现机制 https ...

  4. 视频推流模式HLS,HTTP,RTSP,RTMP协议的区别

    HTTP: 先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频.因此在本地缓存里可以找到这个FLV.其 ...

  5. Angular复习笔记5-指令

    Angular复习笔记5-指令 在Angular中,指令是一个重要的概念,它作用在特定的DOM元素上,可以扩展这个元素的功能,为元素增加新的行为.本质上,组件可以被理解为一种带有视图的指令.组件继承自 ...

  6. sqlserver安装教程

    1 安装步骤:http://jingyan.baidu.com/article/359911f573f71657fe030603.html 2 当提示装载第二张光盘时,在DAEMON Tools中把第 ...

  7. (转载) @ConfigurationProperties 注解使用姿势,这一篇就够了

    SpringBoot中的@ConfigurationProperties 传送门: http://www.hellojava.com/a/82613.html

  8. HTTP协议学习总结

    一个web应用程序,往往是通过http协议进行前后端通信的.而作为一个web工程师,掌握HTTP协议因此也是Web开发必备的一项技能了,尤其是在工作了一定年限之后,更是深感该知识点的重要性.因此,将以 ...

  9. Flask入门到放弃(四)—— 数据库

    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10979970.html 数据库操作 ORM ORM 全拼Object-Relation Mappi ...

  10. H3C IEEE 802.11无线局域网工作组