题解
文章平均质量分 50
liusu201601
这个作者很懒,什么都没留下…
展开
-
【刷题汇总】 CSP/NOIP真题分析 & 基础OJ刷题包
1、NOIP与CSP-J/S的历年真题分析汇总序号标题内容属性1CSP-J2-2021 解题报告J组真题讲解题解包2CSP-J2-2020 解题报告J组真题讲解题解包3CSP-J2-2019 解题报告J组真题讲解题解包4NOIP2013-2018 解题报告NOPI真题分析题解包2、基础OJ题解包序号标题平台属性1NOIOJ入门题表-题解包NOIOJ题解汇总2洛谷试炼场(入门)-解题包洛谷试炼场原创 2022-03-26 10:37:59 · 1071 阅读 · 0 评论 -
CSP-J2-2021 解题报告
CSP-J/S 常态化之后,内卷继续增加;J组的题目对思维能力继续提升,但是从各省的分数线可以看出,整体的难度是下降了(10-20%)!以下是J组的题目与分析编号题目考核内容难度1分糖果取模基础152插入排序排序基础203网络链接模拟+STL304小熊的果篮队列/链表32...原创 2022-03-20 19:01:47 · 640 阅读 · 0 评论 -
luoguP7912 小熊的果篮 [CSP-J2 2021]
题目连接该题是CSP-J2 2021 T4 小熊的果篮题目大意给出一个绿球和红球的交叉分布序列,每轮取走所有同色区间最左边的一个,要求将每一轮的取数打印( $ n \leq 2 \times 10^5$)。样例操作如下图:解法分析作为普及组的压轴题,很容易让人浮想联翩,但是仔细分析,可以发现其实也不用高大上的算法或者数据结构(什么分块、排序树,先放一放)。普遍的做法是队列或者链表完成,O(n)O(n)O(n) 即可解决问题。以下是将每一块打包,然后压进队列,直接模拟扫描即可。原创 2022-03-20 18:59:45 · 1070 阅读 · 0 评论 -
luoguP7911 网络连接 [CSP-J2 2021]
题目连接该题是CSP-J2 2021 T3 网络连接题目大意给出两种计算机的一些网络属性,对字符串的特定属性判重与差错。解法分析考察 模拟+STL1、细节较多,需要将所有情况分析清楚;2、考察 STL 的基础用法: map 和 string;实践步骤1、首先考虑查重:用 map 可以轻松解决,以地址字符串作为下标存储服务机编号即可;2、模拟的细节:(1)字符格式是否符合类似 1.1.1.1 的分布模式;(2)数字是否符合范围;(3)数据是否有多余前导零。参考代码//T原创 2022-03-20 16:37:50 · 581 阅读 · 0 评论 -
luoguP710 插入排序 [CSP-J2 2021]
题目连接该题是CSP-J2 2021 T2 插入排序题目大意给定长度为 nnn 的序列 aia_iai,要做 qqq 次操作,类别有两种:操作类别1:修改,将第 xxx 个位置的值更改为 kkk (最多有 500050005000 次);操作类别2:查询,将原下标为 xxx 的数的排名。解法分析考核排序的基础理解,因为数据较小,不需要用任何高大上的数据结构和算法,直接暴力模拟即可。参考代码//T2-插入排序 //CSP-J2 2021#include<bits/std原创 2022-03-20 16:10:42 · 1298 阅读 · 0 评论 -
luoguP7909分糖果 [CSP-J2 2021]
题目连接该题是CSP-J2 2021 T1 分糖果题目大意给出三个数 n,l,rn,l,rn,l,r,要求在 [l,r][l,r][l,r] 中找到一个整数 kkk,设 d=k%nd=k \% nd=k%n ,输出这个最大的 ddd 。解法分析考察取余的基础性质:1、因为 d=k%nd=k \% nd=k%n ,所以 ddd 的值在 [0,n−1][0,n-1][0,n−1] 之间;2、因为 kkk 的值在 [l,r][l,r][l,r] 之间,所以讨论清楚 r−l+1r-l+1r−原创 2022-03-20 15:29:58 · 460 阅读 · 0 评论 -
luogu-P7073-后缀树
题目连接该题是CSP-J2-2020-T3题目大意输入一个后缀表达式,根据输入的条件,取反和输出。感谢MZH同学详细的题解解法分析303030分暴力。每次更改某一点数值后,重新计算后缀表达式。后缀表达式求值可以用一个栈。如果当前考虑的是数,就直接把它放进栈里;如果是!,就弹出一个数,把它的取反后的数放回栈;如果是|或者&,那么就弹出两个数,计算他们两个通过该种运算后得到的结果后放回栈里。最后栈里剩下的数即为答案。时间复杂度O(n2)O(n^2)O(n2)。(讲真栈的想翻译 2020-12-02 09:41:31 · 188 阅读 · 0 评论 -
luogu2016:战略游戏:求最大独立集(板子)
题目连接树形DP专题题目大意给出一棵树,每个守卫可以瞭望相邻的点;问,最少需要多少个守卫,可以瞭望全图。题目分析瞭望:其实是希望用最少的点,覆盖长度范围为1的图。所以是经典的“最小点覆盖”问题,在树上也叫“最大独立集”问题;因为是板子,所以肯定很简单,直接上代码,相信应该问题不大。解题流程略参考代码//1.3-luogu2016-战略游戏//最小点...原创 2020-01-06 08:47:01 · 308 阅读 · 0 评论 -
loj10155:数字转换:树的直径问题
题目连接树形DP专题题目大意一个数字n,求n以内的数字之间 “约数和关系” 的最长链;约数和关系:一个数字 xxx 的约数和为 s[x]s[x]s[x] ;题目分析由 约数和关系 可以想到,如果 s[x]<xs[x]<xs[x]<x ,他们之间可以连一条双向边;题目就转换为了一个树上,求直径。直径的定义: 树上最长的链。求树的直径的方法1:用两次df...原创 2019-12-25 10:45:58 · 302 阅读 · 1 评论 -
hdu3534:tree:树的直径问题(dp求解)
题目连接树形DP专题题目大意给出一棵带边权的树;问1:求出树的直径;问2:有多少对点的距离等于树的直径。题目分析直径的定义: 树上最长的链(可能有多条)。求树的直径的方法1:用两次dfs来完成dfs1从根出发,找到最远的叶子结点 kkk;dfs2以 kkk 为根,出发,找到离他最远的点 ttt , kkk 与 ttt 之间的距离就是直径。求直径的做法2:dp的思...原创 2019-12-24 09:19:50 · 515 阅读 · 0 评论 -
CSP-J2-2019-解题报告
NOIP暂停,更名为CSP....以下是普及组的题目与分析(应该是官方数据)编号 题目 考核内容 难度 1 数字游戏 字符串基础 1 2 公交换乘 贪心+模拟 3 3 纪念品 思维转化(难)+多重背包 7 4 加工零件 思维转化(难)+拆点+最短路 10 吐槽几句吧!...原创 2019-12-02 15:15:48 · 718 阅读 · 0 评论 -
luogu-P5663 加工零件
题目连接该题是CSP-J2-2019-T4题目大意给出一张无向图;点表示工人,任意一个工人如果要做 x 阶段 的物品,相邻的工人需要提供 x-1 阶 的物品; 0阶 的物品设定为原材料多组询问,若 a 号工人做 L 阶物品的时候,1 号工人是否需要提供原材料(0阶物品)。题目分析第一感觉像是树的分层,如下图:2号点如果要做1阶的物品,则相邻的都给他提供原材料(0阶物...原创 2019-12-02 14:57:58 · 548 阅读 · 0 评论 -
luogu-P5662 纪念品
题目连接该题是CSP-J2-2019-T3题目大意知道 T 天的 N 个物品的价钱(当天买入卖出同价);初始有 M 元钱,要求最后一天全部换回现金;问过程中如何操作,可以使得最后的现金最多。题目分析根据NOIP的惯例,这个T3应该是DP了,大胆地开始推。类似 美元 那题的暴力思维,也是知道所有的天数的汇率,要求最后拿到等值最高的货币;解题思路推了大半天,发现...原创 2019-12-02 12:30:10 · 297 阅读 · 0 评论 -
luogu-P5661 公交换乘
题目连接该题是CSP-J2-2019-T2题目大意可以选乘公车或者地铁;乘坐地铁时:一定要买票,但会获得(45分钟内有效)的免费公车券;乘坐公车时:有券一定用券(而且先用早的券),没券则买票;问:最小的花费。题目分析根据NOIP的惯例,这个T2也应该是签到题,大胆地想模拟。结果发现,真的是个大模拟,注意细节就好。参考代码//CSP-J2-2-公交换乘//贪心模...原创 2019-12-02 11:06:06 · 632 阅读 · 1 评论 -
luogu-P5660 数字游戏
题目连接该题是CSP-J2-2019-T1题目大意输入一个定长为8的 01 串,统计1的个数。题目分析无脑签到题,只要学过字符数组或者字符串的同学,秒切。参考代码//CSP-J2-1-数字游戏 //字符分析 #include<bits/stdc++.h>using namespace std;char s[10];int ans;int main()...原创 2019-12-02 10:58:02 · 424 阅读 · 0 评论 -
NOIP近五年真题分析(NOIP2013-NOIP2018
NOIP2018 提高https://mp.weixin.qq.com/s/I8RggjLtxYfvYfzjycOFkANOIP2017 提高https://mp.weixin.qq.com/s/LM8lW_UlbbeJ-ildCLOEtwNOIP2016 提高https://mp.weixin.qq.com/s/mn7Ks3LhRverZLfC9c23FwNOIP2015 提高ht...转载 2019-11-06 15:09:34 · 424 阅读 · 0 评论 -
bzoj2438:杀人游戏(强连通+特判)
题目传送门题目大意: 在有向图中,进行最少的访问,能到达(n-1)个点。求这个概率。思路分析: 如果题目能读懂的话,应该能看出来是强连通了,但是特判不是一般人能想到。(n-1)就是特判的核心,因为只要知道(n-1)个点的信息,第n个点就不用问了~~神题吧~~~ 具体思路: 1、先跑强连通进行缩点(强连通的板子迟点发好不好),同时记录每个 联通转载 2018-02-02 00:58:25 · 322 阅读 · 0 评论 -
bzoj1051: [HAOI2006]受欢迎的牛(强联通板子)
题目传送门题目大意: 1、单向边的图里面,求最受欢迎的奶牛。 2、最受欢迎的奶牛是一个群体(一个环),要满足“最”这个条件就必须满足(其他点都能指向这个环,而这个环不能再指向其它点)。思路分析:1、图中的环,可以通过强连通找出来。2、本题只要找到那个唯一的,没有出度的ans环,环里的点的个数,就是答案。(因为这个ans环出度为0,就不追捧别人。他是唯一的原创 2018-02-02 23:39:32 · 324 阅读 · 0 评论 -
luogu2756:飞行员的匹配(网络流/二分图匹配)(匈牙利板子)
题目传送门这是一道很好的双入门题,无论是打匈牙利还是网络流,都非常地板子,打熟吧,少年。开始刷网络流24题的第一题,一看居然是二分图匹配。于是老规矩,还是做双题解吧。果断敲个匈牙利先,奶牛配对的游戏,很早就听scy讲过思路,但是第一次自己敲板子。介绍一下匈牙利算法的思路:1、公牛和母牛进行配对;2、公牛们都是很不客气的绅士: 不客气的意思是:后转载 2018-02-02 01:10:48 · 366 阅读 · 0 评论 -
luogu1967:[noip2013提高组]货车运输(最小生成树+lca(倍增))或者(最小生成树+树链剖分)
题目传送门超级好题,完美考核了2个算法:(最小生成树+lca);当然,也可以用“树链剖分”来替代“lca”。如果想学树链剖分,请拉到最后!题目大意:n个点的无向图内,m次询问:x 点到 y 点的路径中,最大值是多少?如果 x与y不连通,输出-1;解法分析: 1、在无向图中,求两点的连通性,还要求两点之间道路的最值,应该先建树(最小生成树);2、多次询问 x与 y之间的道路最值,就是树上的两点的关系...原创 2018-02-03 02:21:44 · 657 阅读 · 0 评论 -
luogu1226:快速幂(模板题)
题目传送门这是一个二分思维的板子,将高次的幂运算,用二分的方法降低时间复杂度,最终变成O(logN);题目大意: 求 a 的 x 次方,答案 mod p。(其中 x 的数值一般都超级大,孩子用循环暴力枚举必然超时的那种!)思路分析: 1、举个栗子: (3)^17 => ((3)^16)*3; (3)^16 => (3*3)^8 => ((原创 2018-02-03 22:00:03 · 295 阅读 · 0 评论 -
luogu3390:矩阵快速幂(矩阵乘法+快速幂)
题目传送门题目大意: 给一个n*n的矩阵,求它的 k 次方的矩阵。(矩阵乘法的意义请百度,这里我只是想展示一个矩阵乘法的模板函数~~)解题思路: 1、快速幂作为函数使用;2、矩阵乘法也用函数表达(本题最想说的部分)上代码:#include#define ll long long const int p=1e9+7;int n;stru原创 2018-02-03 22:18:09 · 294 阅读 · 0 评论 -
luogu3197:bzoj1008:[HNOI2008]越狱(快速幂)
题目传送门:bzoj题目传送门:luogu题目大意: n个人排队,每人可选m种颜色,求(最少2个相邻的人颜色相同)的方案数。 思路分析: 1、看规模感觉要想组合方案数量,快速幂吧;2、总方案数-(任意相邻都不能同色)=答案了。3、总方案数=n^m;4、任意相邻不同色的方案:m*(m-1)^(n-1):第一个人可以任选m种,后面的人,都必须和前一个人不重复,只能选...原创 2018-02-03 22:51:06 · 305 阅读 · 1 评论 -
bzoj1015: [JSOI2008]星球大战starwar(并查集+倒推)
题目传送门题目大意: n个点,m条边的无向图;k次操作,每次操作是删掉一个点e[i],求0~k次操作(k+1)次操作的过程中,图的联通块数量。 (k+1次:是因为,0次操作表示,一个点都没炸的时候,先要算一次全图的联通块数量)。思路分析: 之前做过一道类似的蒸发学水,是在矩阵中完成基本相同的操作,这套题是拓展到了图上。1、因为求联通块的数量,应该能想到是并查集(并查集就是一个两句话的函数,不懂请百...原创 2018-02-08 23:10:10 · 366 阅读 · 0 评论 -
bzoj1012: [JSOI2008]最大数maxnumber(线段树+假装增点)
题目传送门 这道题比裸的线段树难一丁点,注意题目:假装(连题目都要当戏精)题目大意: 1、给一棵空树:两个操作 2、A操作,在树的末尾(ed)增加一个点(值从上一次查询得来)3、Q操作,求 (ed-L+1~ed)这个区间的max4、值要用 龙龙(long long)解题思路: 1、题目很友(yin)善(hui)地说:操作数量不超过 20W,而且插入操作:每次只插入一个点。 说人话:这棵树最多只管理...原创 2018-02-09 00:16:26 · 215 阅读 · 0 评论 -
luogu1379:八数码难题(宽搜+哈希表+双向搜索)
题目传送门 矩阵中经典的宽搜题,这里我主要是想讲哈希表(散列表)的应用而已。 下面几个知识点都有大神讲解过,有兴趣的同学,请认真阅读,如果你懒得看,我后面也会简单讲解。 关于sprintf()函数的用法 关于哈希表的用法 关于双向搜索题目大意: 1、一个3*3的矩阵,给出开始状态和结束状态,请您推箱子(0是那个箱子) 2、输出推箱子的步数解题思路: ...原创 2018-02-12 14:57:03 · 773 阅读 · 0 评论 -
luogu3373:【模板题】线段树2(又加又乘)
题目传送门题目大意: 1、题面是常规的线段树:两种区间修改(有加有乘)+区间求和;解题思路: 1、单种的区间操作和区间求值都没什么问题,难就难在两个lazy怎么处理; 2、先乘还是先加,只要弄明白了,这题就切了: 3、情况1:当区间乘以 k 的时候: 1)当前是区间乘 k,点 x 的值,必然乘 k;√ 2)x 的乘法lazy 也乘 k;√ ...原创 2018-02-13 01:06:52 · 364 阅读 · 0 评论 -
luogu1480高精度除以高精度
题目传送门1 目前只有60分,下次差错更新#include<cstdio> #include<cstring> //高精度a除以高精度 b //预处理b的1-10倍 // 取lb 的长度 la //比较 大小 //减法 char s[5100],l; struct nod{int l,f,a[5100];nod(){l=1;memset(a,0,...原创 2018-03-18 11:33:54 · 699 阅读 · 2 评论 -
bzoj1877: [SDOI2009]晨跑(最小费用最大流+模板)
题目超链接过渡型良心题,构图简单,流量简单,就是要教会你费用流是什么!题目大意:1、n个点,m条单向边;每条边有费用(通过的时间),每条边只能走一次(流量限制);2、求用走的边尽可能多,并且时间尽可能短。(最小费用+最大流)解题思路:1、请结合最大流的模板对比学习,会更加容易搞到懂;2、这题因为每条边的流量为 1,所以,是个良心的过渡型模板题,但是费用流和最大流在实现上有一个函数的区别: 1...原创 2018-03-05 11:20:39 · 433 阅读 · 0 评论 -
[bzoj2654]tree(最小生成树+二分)
题目传送门码农伯伯继续开始新的一季劳作:题目大意: 有权无向图,边分黑、白两种;要求特定数量的白边(k条),构成最小生成树。解题过程: 1、最朴素的想法:先对白边排序,然后取k条,再取剩下的黑边不就好了。(这是错的!),尝试一下自己反证。 2、然后看了各种题解,感觉似乎好像理解了:正解思路: 1、如果对全部边进行排序,跑最小生成树,我们可以得到最优的ans,但是白边不一定是...翻译 2018-03-19 10:36:57 · 744 阅读 · 0 评论 -
luogu4015: 运输问题(网络流/最小费用最大流/最大费用最大流)
题目链接裸题,不用思考构图。题目大意:1 一个二分图,x集合是仓库,y集合是店面,每个x都通全部的y;2 求:将x集合中全部的货物转移到y集合,最小费用和最大费用分别是多少。解题思路:1 网络流最难的一直是构图,但这题的图非常简单;2 构图思路:(源点-〉x集合), (y集合 -〉汇点) ,( x-〉y);3 最小费用最大流不难,直接用spfa来分层,然后回溯封路就好;4 最大费用最大流:把费用取...原创 2018-03-23 15:16:15 · 1208 阅读 · 0 评论 -
bzoj1196: [HNOI2006]公路修建问题(最小生成树+模板题)
bzoj题目链接luogu题目连接题目大意: 1、n个点,m-1条边,每条边有两个权值,权1表示用高价修路,权2表示用低价修路。 2、求:选k条高价路的情况下,最小生成树的边权最大值是多少?解题思路: 1、题目框架和昨天做的2654tree似乎一样,都是双色道路,其中一个颜色选特定的数量。 2、但认真看题发现,这题要水一些。题目已经规定,高价的道路一定比低价的道路贵,就不用...原创 2018-03-20 08:42:11 · 391 阅读 · 0 评论 -
bzoj2429: [HAOI2006]聪明的猴子(最小生成树)
bzoj题目链接luogu题目连接超级大水题,只比模板多了一个坐标操作!!!题目大意: 1、坐标上有n个点,求最小生成树的边权最大值maxx。 2、求m只猴子,跳跃距离大于maxx的个数。解题思路: 1、坐标上求距离,记得用double 2、跑最小生成树,然后逐一比较。上代码:#include<cstdio>#include<algorithm>...原创 2018-03-20 09:27:54 · 378 阅读 · 0 评论 -
最小生成树基础
基础分析20180325ls前置算法:邻接表的使用,排序,并查集,图的遍历;概念:一张图中,给出n个点,m条边,每条边有权值,求:用最少的边权使全图联通。概念分析:其实概念中的最小,包含了2个方面:1 是边的数量最小:一个图要完全联通,只需要(n-1)条边,这样又不会成环,所以就是树;2 要求边权和最小,所以任意两点之间如果有多条边可选的话,要选尽可能小的;...原创 2018-03-25 11:14:18 · 416 阅读 · 0 评论 -
luogu2774 方格取数问题(最小割)网络流24题:9
题目链接这是网络流24题整理 里的第九题,是最小割思想的入门题。题目大意: 1、n*m的矩阵里,每个格子都有一个数字,限制条件:相邻的数字不能同时取。 2、求:以上条件下,取数的和最大。题意分析:(最小割的值=最大流的值) 1、最小割本身不难理解:就是用最少的代价,封掉所有的连通的路。(割=封!动词的不同表述而已); 2、这题里面,正方向思考太复杂了。 3、逆方向思考...原创 2018-03-31 14:48:03 · 323 阅读 · 0 评论 -
网络流24题整理:%向zzy同学
超级表扬zzy同学的治学态度,决定借他的表格来刷:我的更新速度肯定没他快,有需要的同学请直接去看张大神的题解:编号 题目 模型 完成数量:1 备注:20180323 1 飞行员配对方案问题 最大流 解决 匈牙利也可做 2 太空飞行计划问题 未解决 0 3 最小路径覆盖问题 最大流 未解决 0 4 魔术球问题 未解决 0 5 圆桌问题 最大流 未...原创 2018-03-23 11:11:12 · 310 阅读 · 0 评论 -
bzoj1083: [SCOI2005]繁忙的都市(最小生成树模板)
poj链接luogu链接终于找到了模板题目,但是题目写得十分精彩,完全符合oi的精髓,废话连篇,内容包裹十分完美。上代码(不懂的请去看最小生成树汇总)#include<cstdio>#include<algorithm>using namespace std;const int mx=500;int n,m;int la[mx],f[mx],len=0;st...原创 2018-03-31 15:09:21 · 284 阅读 · 0 评论 -
luogu1242新汉诺塔(深搜)
题目链接#同类的题目还有这些#题目大意: 1 给出汉诺塔的开始状态和结束状态,求最小的转移过程。 2 要输出过程解题思路: 1 首先要深刻理解汉诺塔的游戏规则:任何时候,大盘子一定在小盘子下面。 2 搜索过程: (1)从大到小搜索,让当前的盘子 c 从当前的 x 棍子放到目标的 y棍子上; (2) 如果 (1) 不能执行,是因为比 c 小的盘子们...原创 2018-04-02 11:35:13 · 307 阅读 · 1 评论 -
luogu试练场提高历练地
1 搜索Ex 题目 状态 思路 P1120 小木棍 [数据加强版] 未解决 P1378 油滴扩展 解决 深搜(全排列思维) P1514 引水入城 解决 宽搜+DP,注意要:思考细节和特判 P1312 Mayan游戏 未解决 P1441 砝码称重 解决 组合数+01背包 p1242 新汉诺塔 解决 简单暴力的思路,关键要理解汉诺塔的游戏规则 ...原创 2018-04-02 11:36:23 · 413 阅读 · 0 评论 -
luogu1441砝码称重(深搜+背包:组合数+01背包)
题目连接#同类的题目还有这些#题目大意: n个砝码选其中m个,求他们能组合出来的重量最多。解题思路(简单粗暴): 1 n个砝码选m个,吃果果的组合数,dfs搞起来 2 问m个砝码能组合出来的重量:01背包。游戏结束(PS:深搜的参数意义,一定要搞懂,我WA了3次):#include<cstdio>#include<cstring>int n,m,b[...原创 2018-04-02 15:35:07 · 351 阅读 · 0 评论