做题&学习记录(11月)

2019.10.30

XJOI NOIP2019复赛模拟16-day1

T1:随便推一下性质,然后发现要么选最大要么选最小,于是设$dp_{i,0/1}$算一下即可。

T2:注意到无论$b$怎么样,$a_i$一定是越大越好,于是求出每个联通快对应的最大$a_i$,斜率优化即可。

T3:一个巧妙的想法是把左右括号转化为$-1,1$,然后维护前缀和即可。


2019.11.1

XJOI NOIP2019复赛模拟17-day2

T1:要么打完御符,要么不碰御符,两者取$max$即可。(一个坑点是,打完了御符可能还要打兵符,因为兵符可以为负数)。

T2:没什么思路,,题解也不太看得懂

T3:设$F_{i,j}$表示确定了前$i-1$位,匹配了前$j$位之后的方案数,然后重链剖分优化。

[NOIP2016]天天爱跑步

顺手补了一下以前没写完的NOIP题。

不妨考虑每个观察员$p$,哪些路径能对它造成贡献。写出式子可以发现:只有某一端在$p$的子树里面的路径才可能对它产生贡献。

然后递归处理,利用桶来维护贡献即可。有几个坑点就是要注意减去一些不合法但是符合式子的贡献。


 2019.11.2-2019.11.3

省里面考了两次模测。

Day1:

A:水题,直接二分。

B:有点像[HEOI2016/TJOI2016]排序

C:倒过来做,选最大的,注意到每次选出来的都是一颗树,用倍增优化即可。

Day2:

A:转化为求路径数后就是一个组合数

B:注意到$cost(u,w)+cost(w,v)=cost(u,v)$,所以转移一下就好。

C:只需求出序列长度为$1,2...m$时候的期望,把概率$dp$出来就好。


2019.11.4-2019.11.7

XJOI的账号好像暂时不能用,,,

于是去做了一套XJ的公开题

CSP-S2 2019 开放模拟训练题1

A:直接暴力算

B:这个题还有点意思,按对角线对折之后就是最短路计数了。

C:树上背包。

P2597 [ZJOI2012]灾难

构建出灭绝树,求个子树大小就行了。

就是环形的[APIO/CTSC 2007]数据备份 

[SDOI2010]所驼门王的宝藏

给每行建一个虚点,虚点给这一行的点都连一条边,如果这一行某个点有横天门,那这个点向虚点连边。对每一列也是同理。

之后就是强连通分量缩点后在DAG上DP的套路了。


2019.11.8

XJOI 28

A:设$f[i]$表示状态$i$的答案,然后按照高位前缀和的方式转移一下就好。(本质上就是高位前缀和?)

B:样例都没看懂,,不是很懂题目的意思

C:设$f_i$为前$i$个的代价,用单调队列维护一下就好。


2019.11.9

GZ模测2-day1

三个水题不写了,,又把线段树写炸了,,,

Comet OJ - 模拟赛 #1 day1

A:一个有意思的思维题emmm,一开始写出锅了怎么都调不过大样例,比较细节的地方是$a_i=b_i$的情况。

B:最小生成树然后倍增

C:令$f_i$表示前$i$个的期望,推一推式子之后利用权值线段树(当然要离散化)维护每个$a_i$对$f_n$的贡献即可。


2019.11.10

GZ模测2-day2

A:APIO原题,,这也太敷衍了吧

B:把边权加到两个点上,答案减去边权,然后贪心即可。

C:$O(nq)$的暴力就有70,良心出题人,,正解还没看,,

Comet OJ - 模拟赛 #1 Day2

A:去掉第$i$个矩阵后对剩下的矩阵求交,这样能得到$n$个矩阵,这$n$个矩阵的面积并即为答案。

B:好难啊,,,

C:好难啊,,,


2019.11.11

XJOI CSP-S2 2019开放模拟训练题2

打开题目看到三个期望/概率题的时候就觉得要凉。

果然最后凉了。。。

A:$f_{i,j}$表示从第$i$个开始,完成度为$j$的期望,用个前缀和优化一下转移即可。

B:树上$DP$+容斥原理的一般化。若:$f(S)=\sum_{T⊆S}g(T)$,则:$g(S)=\sum_{T⊆S}(-1)^{|S|-|T|}f(T)$。

C:看不懂题解,,,心态爆炸

PS:要注意期望DP一般都是倒着来的(考场上正着推怎么也推不对,,,)

PS:只要一遇到组合数学or概率论方面的题就直接爆炸,,只希望联赛的题目不要涉及到这方面的内容。

 

XJOI CSP-S2 2019开放模拟训练题3

这场还是挺简单的,,,

A:窝搜索写炸了只有60。正解是状压DP

B:直接敲了个Set,结果只有80(Set这么慢的吗??时限可是4s啊)。正解是利用并查集维护。

C:二进制拆分+$bitset$就过了。一个小优化是如果二进制拆分到大于$l$的物品,就不需要考虑这个物品。

 


2019.11.12

XJOI NOIP2019复赛B模拟34-day1

好难啊

A:开 幕 雷 击,建有向图然后路径计数是什么神仙思路。

B:转移出每个势力到每个点的概率后容斥一下就好了。感觉概率题容斥用得挺多啊。

C:没看懂题解是怎么建图的。

 

XJOI CSP-S 2019第二轮A模拟冲剌训练1-day1

还是好难

A:找出SG值递推的规律后直接算,然后每一堆异或起来即可。

B:转换成排列来算概率,确实很巧妙。可是为什么模数是998244853啊?毒瘤出题人。

C:字典树+dsu on tree。骗个20分跑路了。


2019.11.13

XJOI CSP-S2 2019全国开放模拟训练题4信友队周任飞-day1

A:随便递推一下就出来了。

B:链表维护差分后的序列。

C:遇到平方可以考虑拆开,然后分开维护,算出子树内外的代价即可。

 

晚上整理了一下过去十年的题目,研究了一下知识点分布。


2019.11.14-2019.11.18

CSP2019


2019.11.19-2019.11.21

改了一下CSP的6个题,题解在游记里。


2019.11.22

补了一下关于动态开点线段树和线段树合并的知识

P3224 [HNOI2012]永无乡

权值线段树+线段树合并


2019.11.23-2019.11.25

Comet OJ - Contest #15

自闭了一整晚,30分钟写完AB题就不会了。

之后几天订正了这套题。

A:每次选最大的数减,直到减到0为止。

B:枚举每个点为圆心,然后组合数直接算。

C:枚举$x,y$分别表示$x$个人交了题而且A了,$y$个人交了题但是没A,然后判定是否合法即可。

D:一个神奇的思维题,考虑把所有的数乘以9,然后利用$10^i-1$的性质来做。

E:用$-1,1$来表示出栈和入栈,之后用线段树维护最大后缀和即可。

F:二分$x$表示提交了而且A了的人数,之后贪心地选取交了题但是没A的人。

CF840B

注意到答案合法当且仅当有偶数个$1$,我们只需把它们两两配对即可,可以用DFS来完成这个过程。


2019.11.26-2019.11.27

写了一下GZOI2017的题。

[GZOI2017]取石子游戏

枚举第$i$堆石子,现在只需求出有多少种方案,使得其它堆石子的$xor$值>=第$i$堆石子,

设$f_{i,j}$表示前$i$堆,$xor$和为$j$。注意转移的时候要转移到$255$(因为二进制是$1111 1111$)

[GZOI2017]小z玩游戏

每个游戏都向能转移到的下一个游戏连边,那么问题就转化为了求有多少个环。可惜这样边数是$O(n^2)$的。

考虑优化建图,把每个兴奋程度,有趣程度,游戏抽出来,总共$3n$个点。每个兴奋程度向可以到达的有趣程度连边,有趣程度向游戏连边,游戏又向兴奋程度连边。

注意到复杂度是一个调和级数,即$O(nlogn)$。

[GZOI2017]配对统计

注意到每个$x$最多只有两个合法的$y$,很容易把它们都求出来。

注意到$l≤r$,我们可以令所有的$x≤y$,如果有一对$y>=x$,我们交换$x,y$即可。

之后将询问按左端点排序,从后往前扫,用树状数组维护$y$即可。

[GZOI2017]河神

把加法看作$or$,乘法看作$and$。

直接矩阵快速幂即可。

[GZOI2017]等差子序列

假设等差子序列是$i,j,k$。那么有$i+k=2j$。即$k-2j=-i$,我们把数加上$40000$以避免负数,即:$k+(40000-2j)=40000-i$。

用$bitset$维护$k,40000-i$的集合,枚举等差中项$j$,每次把$k$左移$40000-2j$再$and$上$40000-i$,检查是否有不为0的位即可。

posted @ 2019-11-01 16:46  Aegir  阅读(160)  评论(0编辑  收藏  举报