题解
淘7的悟空
这个作者很懒,什么都没留下…
展开
-
luogu P3599 Koishi Loves Construction
题面题解构造题。对于x=1的情况,显然,当ai=na_i=nai=n的时候,iii只能等于1。然后尝试构造前缀和%n\%n%n为0,1,−1,2,−3...0,1,-1,2,-3...0,1,−1,2,−3...的情况,发现aaa数组为n,1,n−2,3,n−3...n,1,n-2,3,n-3...n,1,n−2,3,n−3...,发现只有nnn为偶数时有解,然后就构造成功了。对于x=2的情况,发现ai=na_i=nai=n的时候iii只能等于nnn,不然在iii之后的所有前缀积就全是0了,尝原创 2020-08-03 12:56:02 · 232 阅读 · 0 评论 -
[SDOI2012]拯救小云公主
不放题面了,这题感觉虚高,按现在luogu最短路模板橙题,那这题也就是绿题。主要是记录一下这个套路,我已经看见了不下四五次了。查询两点是否有通路,就是查询是否存在一条路完全阻断每一条通路。比如说之前写的xyc开飞船,还有模拟赛里圆柱上下两端是否有同路的题,都是这个套路。感觉有点太水了(汗),那就放一下题解里的代码吧。。#include <iostream>#include <cmath>#include <algorithm>#include <qu原创 2020-08-02 16:58:17 · 165 阅读 · 0 评论 -
luoguP3625 APIO2009 采油区域
题面题面题解套路题。我第一想法是设f[i][j][k]f[i][j][k]f[i][j][k]为(1,1)−(i,j)(1,1)-(i,j)(1,1)−(i,j)的矩阵里,选了k个子矩阵,且最后一个矩阵的右下角为(i,j)(i,j)(i,j),转移就是f[i][j][k]=max(f[a][b][k−1])+dat(i−k+1,j−k+1,i,j)f[i][j][k]=max(f[a][b][k-1])+dat(i-k+1,j-k+1,i,j)f[i][j][k]=max(f[a][b][k−1])原创 2020-07-31 14:59:40 · 242 阅读 · 0 评论 -
[CEOI2011]Hotel
题面题面,懒得改LaTeX了题解这题是cy大佬讲的,用了一个叫做凸优化的东西。具体想法是,先想假如没有o的限制,你可以选任意个,那么最优策略就是先让容量最小的房间选订单,选它能够接受的报酬最高的订单,维护报酬最高的订单的这个操作可以用优先队列。那么考虑如果有o的限制,应该怎么做呢?对于同一组数据,f(o)f(o)f(o)表示不同的ooo时答案的大小,那么我们从样例中可以得知f(1)−f(0)>f(2)−f(1)f(1)-f(0)>f(2)-f(1)f(1)−f(0)>f(2)−原创 2020-07-15 16:04:05 · 178 阅读 · 0 评论 -
[NOIPtg2016]蚯蚓
本来不想写这题题解的,考虑到P6033合并果子(加强版)和这题的共同点,写了这篇题解题面https://www.luogu.com.cn/problem/P2827复制粘贴真的累QAQ,LaTeX复制不过来,心疼一下我。。题解说了和P6033很像,因为P6033是用两个队列维护有序数组,而这题是用三个。然后就没了。而用队列维护有序数组这个套路,其实就是利用原本的一些单调性,然后用类似归并排序时合并两个单调数组的方法,每次比较队列的开头,支持每次查询最大/最小值,算是一个套路了,在这篇博客里记录原创 2020-05-28 22:17:05 · 167 阅读 · 0 评论 -
[六省联考2017]组合数问题
题面给定 n,p,k,rn,p,k,rn,p,k,r ,求∑i=0∞Cnkik+rmodp\sum_{i=0}^{\infin}C_{nk}^{ik+r} mod pi=0∑∞Cnkik+rmodpn≤109n\le 10^9n≤109,r<k≤50r<k\le 50r<k≤50,2≤p≤230−12\le p\le 2^{30}-12≤p≤230−1题解看数据范围发现大概率是矩阵乘。C有一个递推式,Cmn=Cm−1n+Cm−1n−1C_{m}^{n}=C_{m-1}^{n}原创 2020-05-28 10:34:21 · 227 阅读 · 0 评论 -
[NOI2010]超级钢琴
日更失败题面给定一个序列 a[1-n] ,定义区间 [l,r] 的权值为 (L≤r−l+1≤R)∑lra[i](L\le r-l+1\le R)\sum_l^ra[i](L≤r−l+1≤R)∑lra[i] ,现在求权值前k大的区间和它们权值的和题解首先对于每个左端点 x ,他的右端点所在区间为 [x+l-1,x+r-1] 。而每个区间的权值,可以表示为 sum[r]-sum[l-1] 。所以对于每个左端点为x的区间,这些区间中权值的max为Maxx+l−1x+r−1sum[i]−sum[x−1]M原创 2020-05-27 18:15:43 · 191 阅读 · 0 评论 -
[JSOI2016]最佳团体
立志做日更博主!题面给定一棵树,每个点有代价和价值,现在求一个点集,使得点集中每个点的祖先也都在点集中,且点集中所有点的价值和/代价和最大。题解价值和/代价和最大过于明显的01分数规划,直接把a-mid*j作为点权跑树形DP,然后看f[root][1]f[root][1]f[root][1]是否大于0即可。据说这题卡常,所以我不打算写。放个题解的代码:#include <stdio.h>#include <string.h>#include <algor原创 2020-05-22 17:32:02 · 165 阅读 · 0 评论 -
[APIO2008]免费道路-克鲁斯卡尔专精
失踪人口回归!!可惜回归后第一道题就是水题题面给定一张n个点m条边的无向图(不保证联通),其中图上每个边都有颜色(黑白),现在要构造一棵生成树,使树上黑边数量等于k,如果不存在合法的构造方案,输出"no solution"。k<n≤2×104k<n \le 2\times 10^4k<n≤2×104m≤105m \le10^5m≤105题解首先考虑什么时候会No solotion图不连通k太大,比黑边总数还大k太小,以至于只用k条黑边无法使图联通其中第一和第二种都很原创 2020-05-21 23:43:32 · 164 阅读 · 0 评论 -
[HEOI2013]Eden 的新背包问题
题面原题过于繁复,这里口述,多重背包,多次询问,每次询问的背包容量不一样,并且每次询问会规定一个物品不能选(这个规定的物品每次询问都会改变)。题解首先考虑对询问的两个要求,容量不一样很好处理,因为DP跑背包的过程中本来就会记录不同容量时的答案。对于规定一个物品不能选怎么处理呢?不计算这一个物品,需要计入答案的物品就被分成了编号比这个物品小的物品集合和编号比这个物品大的物品集合,可以直接双向...原创 2020-04-16 22:51:18 · 204 阅读 · 0 评论 -
[NOI Online 提高组]序列
明显感觉这题是个图论题,然后需要把两种边分别处理,就差不多了。对于 t=2t=2t=2 的边,可以把他当做是数值在点与点之间传递,所以如果在一个由 t=2t=2t=2 的边组成的连通块里,答案为YES当且仅当这个联通快中 aaa 的和等于 bbb 的和。可以把 t=2t=2t=2 的边组成的连通块缩点,因为他们的性质和一个点并没有区别。之后的问题就是关于 t=1t=1t=1 的边怎么处理,把...原创 2020-03-29 15:43:02 · 348 阅读 · 0 评论 -
[SDOI2017]数字表格
题面∏i=1n∏j=1mfgcd(i,j)\prod_{i=1}^{n}\prod_{j=1}^mf_{gcd(i,j)}i=1∏nj=1∏mfgcd(i,j)题解这题神题啊!把所有莫比乌斯反演题里的sigma改成了pi,然后用相同的思路得出答案,这题非常考验对莫比乌斯反演题的熟练程度,同时需要一定的变通能力,属于很有意思的数学题(这里再吹一下山东省选的数论题,好多都是神题)∏i=1...原创 2020-03-22 23:28:40 · 120 阅读 · 0 评论 -
[CQOI2015]选数
题面∑LH∑LH...∑LH[gcd(a1,a2,...,an)=k]\sum_{L}^{H}\sum_{L}^{H}...\sum_{L}^{H}[gcd(a_1,a_2,...,a_n)=k]∑LH∑LH...∑LH[gcd(a1,a2,...,an)=k](n个sigma)题解这题比较创新的地方是选出n个数,但是由于之前做过选4个数的题,看到这道就直接秒了。最后的式子是这...原创 2020-03-22 22:07:55 · 116 阅读 · 0 评论 -
[SDOI2014]数表
题面∑i=1n∑j=1m[gcd(i,j)≤a]∗gcd(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)\le a]*gcd(i,j)i=1∑nj=1∑m[gcd(i,j)≤a]∗gcd(i,j)题解看到式子明显要莫比乌斯反演,于是变成:∑x=1min(n,m)⌊nx⌋⌊mx⌋∑d∣xaμ(xd)d\sum_{x=1}^{min(n,m)}\lflo...原创 2020-03-22 10:40:48 · 230 阅读 · 0 评论 -
[SDOI2015]约数个数和
题面∑i=1n∑j=1md(ij)\sum_{i=1}^n\sum_{j=1}^md(ij)i=1∑nj=1∑md(ij)d(x)d(x)d(x)表示x的约数个数题解其实写这篇题解主要是为了证明下面这个式子:d(ij)=∑x∣i∑y∣j[gcd(i,j)=1]d(ij)=\sum_{x|i}\sum_{y|j}[gcd(i,j)=1]d(ij)=x∣i∑y∣j∑[gcd(i...原创 2020-03-14 23:43:45 · 218 阅读 · 0 评论 -
[国家集训队]Crash的数字表格
题目背景数学题没有背景题面∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^{n}\sum_{j=1}^mlcm(i,j)i=1∑nj=1∑mlcm(i,j)题解直接推式子吧:∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^{n}\sum_{j=1}^mlcm(i,j)i=1∑nj=1∑mlcm(i,j)=∑i=1n∑j=1mi∗jgcd(i,j)=\s...原创 2020-03-11 10:01:02 · 126 阅读 · 0 评论 -
[EER1]礼物
题目背景Update:时限扩大到 3 秒。题目描述小 Z 送了你一个数列,具体的,有 a1=1a_1=1a1=1,a2=2a_2=2a2=2,ai=2ai−1+kai−2(3≤i≤n)a_i=2a_{i-1}+ka_{i-2}(3\le i\le n)ai=2ai−1+kai−2(3≤i≤n),其中 n 是数列的长度,k 是她设定的一个正整数参数。小 Z 告诉你一个秘密,这个数...原创 2020-03-09 11:22:25 · 273 阅读 · 2 评论 -
[EER1]代价
题目背景个人的遭遇,命运的多舛都使我被迫成熟,这一切的代价都当是日后活下去的力量。 —— 三毛小 Z 喜欢玩数字游戏。 题目描述 给出一个长度为 n+2 的序列 aia_iai ,其中第 1 个数和第 n+2 个数固定为 1。你每次可以选择序列中间的一个数删除(不能是第一个和最后一个),删除位置 p 上的数的代价为 ap−1×ap×ap+1a_{p-1} \times a_p \t...原创 2020-03-09 10:50:47 · 358 阅读 · 0 评论 -
[NOI2010]能量采集
题面:数学题,就不放题面了题解首先得出式子:2∑i=1n∑j=1mgcd(i,j)−n∗m2\sum_{i=1}^{n}\sum_{j=1}^{m}gcd(i,j)-n*m2i=1∑nj=1∑mgcd(i,j)−n∗m然后如果还记得这个式子(有的人管这个叫欧拉反演)的话n=∑d∣nφ(d)n=\sum_{d|n}\varphi (d)n=d∣n∑φ(d)那这题就O(N)切了(...原创 2020-03-03 22:20:39 · 153 阅读 · 0 评论 -
[HNOI2002]公交车路线
挑战全网最快!!做法一O(N)直接递推,dp[i][j]dp[i][j]dp[i][j]表示Tiger在换了i次车时位于j的方案数,最后输出dp[n][E]dp[n][E]dp[n][E]由于这是2002年的题,所以用现在的评测机O(N)也能过做法二O(8^3logN)矩阵乘法,转移矩阵如下0100000110100000010...原创 2020-02-14 14:46:55 · 264 阅读 · 4 评论 -
[HNOI2008]神奇的国度
题目描述K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系等等的存在.所谓N边关系,是指N个人 A1A2…An之间仅存在N对认识关系:(A1A2)(A2A3)…(AnA1),而没有其它认识关系.比如四边关系指ABCD四个人 AB,BC,CD,DA相互认识,而AC,BD不...原创 2020-02-11 16:47:39 · 318 阅读 · 0 评论 -
[TJOI2007]小朋友
题目背景幼儿园里有N个小朋友,老师要从中选出来一部分做丢手绢的游戏,可是老师没有想到这么小的孩子里面有些人之间还有矛盾。老师想找出尽量多的小朋友去玩游戏,但是又很头疼,他不想看到找出来玩游戏的小朋友里面还有任何两个人之间存在着矛盾。如果告诉你小朋友之间存在的M对矛盾关系,你能否帮助幼儿园老师计算出他最多可以选出多少个小朋友来做这个丢手绢的游戏?题目描述关于矛盾限制的说明:如果我们把存在着矛...原创 2020-02-11 16:43:03 · 202 阅读 · 0 评论 -
HNOI2008GT考试
题面给定一个长度为m的字符串s,给定一个不大于101810^{18}1018的正整数n,询问:长度为n且不包含子串s的字符串有多少种。题解从已经匹配上的位数考虑,f[i][j]表示i位的字符串,已经匹配上了j位的方案数,那么只需要设计一个m*m的矩阵就可以快速幂了。构造矩阵的的过程可以用KMP来O(M)做,但是M很小,可以直接暴力O(M^4),我就直接打的暴力。#include<bi...原创 2020-02-10 17:08:23 · 152 阅读 · 0 评论 -
洛谷P6033合并果子,O(N)做法
题面题面不说了,简而言之就是在O(N)的时间内求Huffman树。题解首先,求Huffmam树最基本的,每次要在集合里找到最小的,这其实就包含了排序。也就是说,在之前O(NlogN) 的方法中,我们处理的问题的一个子问题就是排序。既然要排序,还要O(N)时间,那肯定是要桶排。考虑如何把排序的过程从之前的过程中提取出来,优先算完,再算其他的。可以排完序,然后把序列前两个(默认是二叉Huffm...原创 2020-02-08 14:38:06 · 460 阅读 · 0 评论 -
洛谷P1472奶牛家谱
题目描述一个有 nnn 个节点,深度为 kkk 的无标号完满二叉树(即每个节点的儿子数为 000 或 222)有多少种结构?定义根节点深度为 111。答案对 990199019901 取模。输入格式两个空格分开的整数 n,kn,kn,k。输出格式输出一行一个整数表示答案。输入输出样例输入 #1 复制5 3输出 #1 复制2说明/提示对于 100%100\%100% 的数据...原创 2020-02-06 22:42:10 · 203 阅读 · 0 评论 -
洛谷P6046 纯粹容器 senpai
题目描述白王制造了 nnn 个容器,并将它们排成了一队,从左到右依次编号为 1∼n1 \sim n1∼n。第 iii 个容器的强度为 aia_iai,保证 aia_iai 互不相同。为了挑选出最纯粹的容器,白王会进行 n−1n-1n−1 轮操作,每轮操作中,他会等概率随机挑选两个 位置相邻 且 未被击倒 的容器,令它们进行决斗,在一次决斗中,强度较小的容器将会被击倒并移出队列。显然最后留下...原创 2020-02-05 22:09:36 · 321 阅读 · 0 评论 -
洛谷P6016-[CSGRound3]出游
题目描述学校组织了一次暑期出游活动,报名将在第 TT 天截止。一共有 nnn 位同学,第 iii 位同学有 aia_iai 位朋友。朋友关系是单向的,换句话说,小 Z 有一个朋友是小 Y,并不意味着小 Y 一定也有一个朋友是小 Z。另外,自己也可能是自己的朋友。第 000 天时,每位同学会决定自己是否参加活动。第iii位同学有$ p_i$的概率决定参加,1−pi1-p_i1−pi的概率决...原创 2020-01-31 21:38:04 · 236 阅读 · 0 评论 -
洛谷P6015-[CSGRound3]游戏
题目背景小 Y 和小 Z 是一对好朋友,他们在玩一个游戏。游戏只有一个回合。题目描述有一个牌堆,一共有 nnn 张牌,第 ii 张牌上有一个数 aia_iai,其中第一张牌是堆顶。小 Z 先取牌,他可以从堆顶开始取连续若干张牌(可以取 000 张),取完的牌拿在手上,也就是不在牌堆里了。然后小 Y 取牌,同样,她也可以从堆顶开始取连续若干张牌(可以取 00 张)。如果一个人手上的牌的...原创 2020-01-31 21:07:42 · 202 阅读 · 0 评论 -
HiHoCoder1608-Jerry的奶酪
题面题解翻译成正常语言,就是平面上有一些点,有一些点不能经过,有一些点必须经过,必须经过的点不超过10个,平面最大300*300可以直接让每个必须被经过的的点作点集,然后建图,只需要对于每个点跑bfs求这个点到其他点的距离了,最终建出一个完全图,跑状压DP求哈密顿回路即可。其实这题比较水,记录的原因主要是因为这题结合了建图和哈密顿回路,比较综合。收获:看到tsp问题(哈密顿回路),毫...原创 2020-01-30 22:52:30 · 176 阅读 · 0 评论 -
UVA1608- non-boring sequence
题面题解这题简直太神了,可以说是把时间复杂度的数学分析发挥到了极致。如果这个序列中找不到唯一的元素,那么这个序列必然是无聊的;如果这个序列中存在唯一的元素p,那么所有包含这个元素的连续序列就都合法了,所以我们就只需要检查[1…p-1]和[p+1…n],然后递归求解,复杂度为T(n)=max(T(p-1)+T(n-p)+找到p的时间)。找到p最直接的方法是开个桶或者map,扫一遍,复杂度O(...原创 2020-01-30 10:40:42 · 106 阅读 · 0 评论 -
[HNOI2008]玩具装箱TOY
题目描述P 教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P 教授有编号为 1⋯n1 \cdots n1⋯n 的 nnn 件玩具,第 iii 件玩具经过压缩后的一维长度为 CiC_iCi。为了方便整理,P教授要求:在一个一维容器中的玩具编号是连续的。同时如果一个一维容器中有多个玩具...原创 2020-01-27 12:37:22 · 176 阅读 · 0 评论 -
[WC2011]最大XOR和路径
题目描述考虑一个边权为非负整数的无向连通图,节点编号为 111 到 NNN,试求出一条从 111 号节点到 NNN 号节点的路径,使得路径上经过的边的权值的 XOR 和最大。路径可以重复经过某些点或边,当一条边在路径中出现了多次时,其权值在计算 XOR 和时也要被计算相应多的次数,具体见样例。输入格式输入文件 xor.in 的第一行包含两个整数 NNN 和 MMM, 表示该无向图中点的数目...原创 2019-12-17 14:46:16 · 310 阅读 · 0 评论 -
[BJWC2011]元素
题目描述相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制出法杖,这个现象被称为“魔法抵消” 。特别地,如果在炼制过程中使用超过一块同一种矿石,那么一定会发生“...原创 2019-12-10 10:56:48 · 114 阅读 · 0 评论 -
[cqoi2013]新Nim游戏
题目描述传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿。拿走最后一根火柴的游戏者胜利。本题的游戏稍微有些不同:在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也一样,第二个游戏者也有这...原创 2019-12-09 16:31:20 · 181 阅读 · 0 评论 -
[SDOI2015]序列统计
题目描述小C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的值等于x的不同的数列的有多少个。小C认为,两个数列{Ai}和{Bi}不同,当且仅当至少存在一个整数i,满足Ai≠Bi...原创 2019-12-08 16:55:05 · 122 阅读 · 0 评论 -
[ZJOI2012]灾难
题目描述阿米巴是小强的好朋友。阿米巴和小强在草原上捉蚂蚱。小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的生态灾难。学过生物的阿米巴告诉小强,草原是一个极其稳定的生态系统。如果蚂蚱灭绝了,小鸟照样可以吃别的虫子,所以一个物种的灭绝并不一定会引发重大的灾难。我们现在从专业一点的角度来看这个问题。我们用一种叫做食物网的有向图来描述生物...原创 2019-12-08 14:02:28 · 143 阅读 · 0 评论 -
[HNOI2001]产品加工
题目描述某加工厂有A、B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成。由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工,所完成任务又会不同。某一天,加工厂接到n个产品加工的任务,每个任务的工作量不尽一样。你的任务就是:已知每个任务在A机器上加工所需的时间t1, B机器上加工所需的时间t2及由两台机器共同加工所需的时...原创 2019-12-04 15:45:58 · 211 阅读 · 0 评论 -
[HAOI2008]糖果传递
环形均分纸牌。原创 2019-12-03 08:13:14 · 106 阅读 · 0 评论 -
[BZOJ1115]石子游戏Kam
博弈论首先把数组查分,然后发现这是个阶梯问题。阶梯问题,是说有一个n级的阶梯,每级阶梯上有若干硬币。二人轮流操作,每次可以将某一级台阶上的若干个硬币移到下一级。无法操作者输然后对于阶梯问题,我们采取奇偶性分析:假若对手移动偶数阶,我们可以继续将其往下移动到偶数阶,直至0阶假若对手移动奇数阶,若移动第一阶,则相当于取走假若对手移动奇数阶,且将移动到偶数阶,而偶数阶的子最终将以1.的...原创 2019-12-02 18:46:10 · 136 阅读 · 0 评论 -
伪题解[Cnoi2019]最终幻想
这里貌似要写题解,但是不可能的,正解是打表但是还好这题是个数学题,所以可以记录一下式子。题面异常简单,但令人难以动手:有一个 NNN 维超球, 求使用 KKK 个 N−1N-1N−1 维超平面可以将这个 NNN 维超球划分成多少个 NNN 维块。答案对 998244353998244353998244353 取模。然后我用了半个小时推式子,用了一个小时想写法,最后看题解发现正解是分块打...原创 2019-11-21 20:26:35 · 406 阅读 · 0 评论