
loj
zsyzClb
这个作者很懒,什么都没留下…
展开
-
loj2011「SCOI2015」情报传递
终于见到了一道水题一眼看过去就是主席树因为修改很麻烦,所以我们直接预处理一下假设士兵开始执行任务的时间是ai,现在询问的时间是t,限定是c,那么求的就是满足ai<=j−c−1a_i<=j-c-1ai<=j−c−1的i的个数然后就把树上的每一个节点建一条链,然后将他的父亲合并下来,询问的时候计算[1,j-c-1]的个数就行了#include <cstdio>#include <cstring>#include <cstdlib>#incl原创 2020-06-20 11:54:19 · 209 阅读 · 0 评论 -
Loj2010「SCOI2015」小凸解密码
这道题很明显使用线段树来做。我们让线段树维护b对于修改操作,我们只需要修改四个点对于查询操作,可以想到二分答案,我们把b复制一倍放在末尾,只需要判断[x+mid,x+n-mid]中是否有一段被大于0的数包围的一串0,因为要考虑边界问题,所以把判断的区间改成[x+mid-1,x+n-mid+1]更加便于维护和查找#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream&原创 2020-06-20 10:15:46 · 213 阅读 · 0 评论 -
Loj2009「SCOI2015」小凸玩密室
仔细观察以后可以发现,关于电灯有以下几个性质:1根节点不是1,也就是每个点都可能为根节点,这就意味着不能用O(N^2)的做法,只能考虑O(NlogN)或者O(N)2所有点亮的灯都是连在一起的3对于一个已经点亮的点,它的左右子树只有3种可能:没有染色,已经全部染完,正在染色4当你准备将一个点染色的时候,上一个染色的点可能是它的父亲或者它父亲拥有的另外一棵子树的叶子节点根据这几个性质,可以想到dp状态:dp[i][j][0]表示将第i个点的子树全部点亮并且上去点亮i的第j个祖先所需的最小费用原创 2020-06-13 11:54:36 · 210 阅读 · 0 评论 -
loj2007「SCOI2015」国旗计划
一道很有意思的贪心+倍增的题目。首先我们要把环变成链(复制一倍放到末尾去)。这道题有一个非常巧妙的性质:任意一个区间都没有别的被包含(假如这一道题有包含的话就要把被包含的那个区间给去掉)。也就是说把把每一个士兵的区间左端点从小到大排序后,右端点也是从小到大排好序的。然后我们从贪心的角度思考,对于一个士兵,接应他的人一定是在能接应到的情况下左端点最大的。然后就很好做了,考虑一下倍增,nxt[x...原创 2020-04-11 18:24:02 · 218 阅读 · 0 评论 -
loj2006「SCOI2015」小凸玩矩阵
题目说使第k大最小,很容易想到二分。二分以后,我们就要判断是否能够选出n-k+1个<=mid的数。又因为每行每列都只能选一个数,我记得这种问题以前学匈牙利算法的时候做过,所以当存在ai,j<=mida_{i,j}<=midai,j<=mid的时候,我们从i向j连边,然后跑一次匈牙利算法,看看最大匹配是否>=n-k+1即可参考代码#include <cs...原创 2020-04-11 15:15:07 · 186 阅读 · 0 评论 -
loj2005「SDOI2017」相关分析
很明显是要推公式啊,然后用线段树维护。以下我们将∑i=lr\sum_{i=l}^r∑i=lr看成∑\sum∑把操作1的公式化简一下,就可以得到需要维护的有∑xi\sum x_i∑xi∑yi\sum y_i∑yi∑xi∗yi\sum x_i*y_i∑xi∗yi∑xi2\sum x_i^2∑xi2这四种。然后用上求和公式和平方和公式就可以很容易的得到操作二和操作三分别是:...原创 2020-04-09 22:21:55 · 140 阅读 · 0 评论 -
loj2004[SDOI2017]硬币游戏
求概率的题我只见过两种(做题太少),最后就是用高斯消元或者dp来求解的。引理一:结尾包含一个长度为L的指定串并(不含别的指定串)的概率为12L\frac{1}{2^L}2L1证明:很简单,只看结尾,结果有2n2^n2n种等可能情况,满足条件的只有一种所有概率就是12L\frac{1}{2^L}2L1假设x0x_0x0为一个任意长度但不包含任意一个给定序列的概率,xix_ixi表示...原创 2020-04-08 23:20:04 · 262 阅读 · 0 评论 -
Loj2003「SDOI2017」新生舞会
这道题太明显了,一眼看过去就知道是0/1分数规划。先用二分枚举mid,假设mid就是c我们要判断的是a1+a2+...+anb1+b2+...+bn>=c\frac{a_1+a_2+...+a_n}{b_1+b2+...+b_n}>=cb1+b2+...+bna1+a2+...+an>=c然后我们就可以把分母乘到c上面去,得到a1+a2+...+an>...原创 2020-04-07 21:34:44 · 172 阅读 · 0 评论 -
loj2002「SDOI2017」序列计数
这一道题可以很容易的想出O(nm)O(n^m)O(nm)的做法,这种做法理论上可以用天河二号在1h之内算出结果(????)排除暴力的解法,既然不能直接算出结果, 那么我们可以利用减法算出结果。因为要求了至少有一个质数,和是p的倍数,所以可以用所有和为p的倍数的 - 和为p的倍数且没有质数的假设f[i][j]f[i][j]f[i][j]为其它满足条件的长度为i,和%P为j的序列的个数,容易得出这...原创 2020-04-06 19:29:47 · 203 阅读 · 0 评论 -
loj2001「SDOI2017」树点涂色
这道题是真的妙,感觉做完这一题,我对LCT的理解又加深了一点。题解:操作一我们发现这一个操作就是把树中某个节点到根节点的路径上的所有节点变成一样的颜色,又因为这棵树上有一个性质,同样颜色的点连接起来一定会是一条链,就可以想到LCT的access函数。所以我们将同种颜色的点看成LCT中同一棵splay上的点。操作二因为LCT已经维护了颜色了,所以我们不能再用LCT来维护路径之间的权值了。于...原创 2020-04-06 15:02:44 · 202 阅读 · 0 评论 -
loj2000「SDOI2017」数字表格
在不开题解的情况下,成功骗了30分,以下是骗分的代码#include <cstdio>#include <cstring>#include <iostream>#include <cmath>using namespace std;typedef long long LL;const int N = 1e3 + 6, P = 1e9 +...原创 2020-04-05 23:31:56 · 203 阅读 · 0 评论