自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(808)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 【NOIP普及组 复赛/CSP-J 第二轮真题】题解目录

1963 【13NOIP普及组】小朋友的数字:[点击这里]1940 【07NOIP普及组】守望者的逃离:[点击这里]1964 【13NOIP普及组】车站分级:[点击这里]1960 【12NOIP普及组】文化之旅:[点击这里]1951 【10NOIP普及组】导弹拦截:[点击这里]1952 【10NOIP普及组】三国游戏:[点击这里]1948 【09NOIP普及组】道路游戏:[点击这里]

2025-04-09 16:54:39 1039

原创 【CSP认证 第一轮 初赛】部分题解目录

CSP-J 2021 第一轮 题解][CSP-J 2020 第一轮 题解][CSP-J 2019 第一轮 题解]

2024-11-01 23:17:24 439

原创 【OpenJudge NOI】题解目录

【OpenJudge NOI】题解目录OJ链接:OpenJudge NOI以下为本人做的OJ题解针对每一道题我都会给出题目考点、解题思路、题解代码。必要时也会给出不同的解题方法。本人水平有限,如有不足之处,欢迎大家指正。如看过后还有不明白的地方,欢迎在评论区留言。作者:君义_noip1.1编程基础之输入输1 Hello, World!:点击这里2 输出第二个整数:点击这里3 对齐输出:点击这里4 输出保留3位小数的浮点数:点击这里5 输出保留12位小数的浮点数:点击这里6 空格分隔输

2021-01-16 15:57:24 63419 20

原创 【信息学奥赛一本通】题解目录

【信息学奥赛一本通】题解目录信息学奥赛一本通OJ以下本人做的OJ题解针对每一道题我都会给出题目考点、解题思路、题解代码。必要时也会给出不同的解题方法。本人水平有限,如有不足之处,欢迎大家指正。如看过后还有不明白的地方,欢迎在评论区留言。作者:君义_noip基础(一) C++语言第一章 C++语言入门1001 Hello,World!:点击这里1002 输出第二个整数:点击这里1003 对齐输出:点击这里1004 字符三角形:点击这里1005 地球人口承载力估计:点击这里第二章 顺序

2021-01-12 03:35:08 183160 53

原创 信息学奥赛一本通 1454:山峰和山谷

访问某位置(sx,sy)后,尝试访问其周围(上、下、左、右、左上、右上、左下、右下)的位置(x,y),(x,y)位置需要保证在地图范围内且没有访问过。尝试从每个位置出发进行搜索(可以进行深搜或广搜)。如果该位置没有访问过,则从该位置开始进行搜索。相同高度的相邻多个位置构成一个连通块。设二维数组标记每个位置是否已访问过。最后输出山谷和山峰的数量。当前连通块搜索结束后,

2025-04-29 15:04:33 631

原创 信息学奥赛一本通 1509:【例 1】Intervals | OpenJudge 百练 1201:Intervals

范围内已选点数量,为区间查询,选择一个点为区间修改,这一步可以使用树状数组优化,将区间查询的复杂度从。中最多可以选出b-a+1个数,从a-1到b的路径上可能有多条正权边,但正权边的权值加和,即路径的权值。,如果顶点b到顶点a-1有路径,必然由【顶点i到顶点i-1的权值为-1的有向边】构成,边数为。如果选择了第j点,那么小于等于j的第一个未选择点,就是小于等于i的第一个未选择点,因此将。没有变,仍然为i+2,而小于等于i+3的第一个未选择点此时为i,不是i+2。:顶点i到顶点i-1有权值为-1的有向边。

2025-04-26 00:26:47 852

原创 信息学奥赛一本通 1505:【例 2】双调路径 | 洛谷 P5530 [BalticOI 2002] 双调路径

阶段:到达顶点编号i,路径费用j(或者此处也可以选择使用取路径时间,本题中费用和时间是等价的)决策:从某顶点出发下一步到哪个顶点策略:路径策略集合:从源点s出发到顶点i的路径费用为j的所有路径条件:时间最小在路径费用固定的情况下,只有时间最小的路径才可能是最“小”路径,时间更大的路径没有必要统计。因此只需要统计费用固定的所有路径中时间最小的路径的最小时间。统计量:时间状态定义dpijdp_{i,j}dpij​。

2025-04-23 21:12:04 1000

原创 信息学奥赛一本通 1504:【例 1】Word Rings | 洛谷 SP2885 WORDRING - Word Rings

作为字符串前后端的两个字符是顶点(例单词ababc,开端ab是一个顶点,末端bc是一个顶点),每个单词是一条连接前后端两个顶点的边,边的权值为单词的长度(字符数)。设端点字符串的第一个字符为变量x,第二个字符为变量y,由于所有的字符都是小写的,那么将这两个字符看做一个26进制数字,哈希值为该数字的数值。取某个值后,图中每条边的边权都减少x,即便图中存在负权环,可能是平均路径长度较小的一个环变成了负权环,而平均路径长度最大的环的边权加和还满足。时,将图中每条边的权值减少x后,一定就不存在正权环了。

2025-04-21 23:09:05 897

原创 CSP-J 2019 入门级 第一轮(初赛) 答案及解析

答:A。中国的国家域名是.cn答:D按位与运算的规则为:1&1=1,1&0=0,0&1=0,0&0=0将两个二进制数每位分别进行按位与运算,得到结果:选D。答:C1字节=8位,一个32位整型变量占用32/8=4字节,选C。答:As初值为a,循环c次,每次让s减少1,一共减少了数值c。因此该段代码的作用是使变量s的值变为a的值减c,即s = a-c,选A。答:A对于长为n的有序序列进行二分查找,最大比较次数为⌊log2​n⌋1本题n。

2025-04-20 15:29:01 1025

原创 信息学奥赛一本通 1621:轻拍牛头 | 洛谷 P2926 [USACO08DEC] Patting Heads S

在这n个数中的约数还包括自己,所以实际约数的个数需要减1。的每个约数j,加和变量ct增加该约数在输入的n个数中出现的次数。有n个数,对于其中每个数,问这n个数中有几个数是它的约数。记录数值i在序列中的约数个数(不包括自己),如果已经求出过。表示输入的n个数中,数值i出现的次数。约数在这n个数中的个数进行加和即可。,遍历n个数,计数看有多少数字是。的约数在这n个数中有几个,将所有。,需要循环n次,总体时间复杂度为。将输入的n个数保存在a数组,的约数在这n个数中个数。,m为数值范围,最大为。

2025-04-17 15:45:32 589

原创 信息学奥赛一本通 1623:Sherlock and His Girlfriend | 洛谷 CF776B Sherlock and his girlfriend

如果序列中一个质数是另一个合数的因数,那么质数与合数的染色必然不同。那么可以将所有质数染成颜色1,将所有合数染成颜色2,此时染色数最少。对于整数序列2,3,…,n+1,如果一个数是另一个数的质因数,则两个数的颜色必须不同,求最少使用颜色数量。对于所有质数,任意一个质数不可能是另一个质数的质因数。因此任意两个质数的颜色可以相同。首先,合数不是质数,不可能作为另一个合数的质因数。因此任意两个合数的颜色可以相同。那么如果对于一个数对,其中较小的数不是较大数的质因数,那么两数的颜色可以相同。

2025-04-17 15:07:17 310

原创 信息学奥赛一本通 1622:Goldbach’s Conjecture | 洛谷 UVA543 Goldbach‘s Conjecture

虽然哥的巴赫猜想还没有被证明,但在题目给定的范围找到一个偶数不满足哥的巴赫猜想是不可能的,如果你找到了哥的巴赫猜想的反例,都可以得菲尔兹奖了。,而该数是相加的两个素数中的较小的数,因此该数需要满足不超过n的一半,即需要满足。如果第二个数也是素数,则输出n等于两个数相加的公式,并跳出循环。判断整数n是否可以写成两个奇素数的加和,枚举第一个较小的奇素数。,判断第二个数是否是素数,可以使用前面求出的isPrime数组,保存第i个质数,pn是保存在prime数组中的质数的个数。是2,是偶数,略过。

2025-04-17 14:07:13 372

原创 信息学奥赛一本通 1508:Easy SSSP

(或者可以分别以第1号到第n号顶点为源点,运行SPFA算法,判断是否存在负权环。判断是否存在负权环可以使用DFS版本的SPFA,相对效率更高。可以假想存在一个超级源点,第0号顶点。第0号顶点到第1到第n号顶点都有权值为0的边。执行SPFA算法时,统计顶点的入队次数,如果入队次数大于n,则存在负权环。使用SPFA统计整个图中是否有负环,初始需要将所有顶点都入队。而后再以S为源点求单源最短路径。

2025-04-16 16:03:48 269

原创 洛谷 P3385 【模板】负环

图中可能有负权边,也可能有负权环,需要通过求最短路算法判断图中是否存在负权环,需要使用Bellman-Ford算法,或其优化算法,如队列优化的Bellman-Ford算法,即SPFA算法。数组oldDis记录上一轮源点到顶点i的最短路径长度,数组dis记录这一轮计算后源点到顶点i的最短路径长度。因此将最短路径长度发生更新的顶点入队,每次出队一个顶点u,对其邻接点v进行松弛操作。如果这一轮没有进行松弛操作,下一轮也不会进行松弛操作,则最短路径求解结束,直接跳出循环。在SPFA算法中,使用双端队列。

2025-04-16 00:40:05 625

原创 信息学奥赛一本通 1960 【12NOIP普及组】文化之旅 | 洛谷 P1078 [NOIP 2012 普及组] 文化之旅

该题目给定的数据范围中,可以构造出无论写出什么代码,在1s内都无法通过该测试点的数据,因此说该题是错题。通过最短路算法(如Dijkstra)求出在没有文化排斥的限制的情况下,任意顶点到终点t的最短路径。那么实际在有文化限制的条件下,d与u到t的最短路径加和也一定大于minDis,因此可以剪枝。从顶点u访问到顶点v时,在顶点v不是终点t的情况下,顶点v的文化不能和终点t的文化相同。同时由于一定学习过起点s的文化,那么起点s的文化不能排斥顶点v的文化。,顶点v的文化也不能排斥顶点t的文化。

2025-04-15 00:55:52 908

原创 信息学奥赛一本通 1498:Roadblocks | 洛谷 P2865 [USACO06NOV] Roadblocks G

而求次短路时不应设vis数组记录顶点是否出队,因为当顶点u第二次出队时,如果是到顶点u有长为d2的路径,基于该存在的路径虽然不可能再更新各顶点的最短路径dis1的长度,但可能更新各顶点的次短路径dis2的长度。通过顶点u扩展出的新的路径的长度为d1+w(w为顶点u到其某个邻接点的边权),因为Dijkstra的前提是图中没有负权边,所以d1+w一定大于d1,因此新入队的Path对象的d属性也大于d1。因此接下来出队的Path对象的d属性一定大于等于d1,即按出队顺序看,Path对象的d属性是单调递增的。

2025-04-13 23:51:18 1062

原创 信息学奥赛一本通 1500:新年好 | 洛谷 P5764 [CQOI2005] 新年好

为源点的单源最短路径,总共执行6次Dijkstra算法,由于顶点数n达到。,可以按不同顺序访问各个目标顶点,访问目标顶点的所有顺序,即为序列。的朴素Dijkstra算法,必须使用Dijkstra堆优化算法。每个车站是一个顶点,每条公路是一条无向边,该图是无向图。深搜回溯得到所有目标顶点的排列,设假想存在目标顶点序列为。是第i个亲戚所在顶点的编号,叫做目标顶点。出发访问所有目标顶点的路径总长为。为源点的单源最短路径问题后,得到。这5个顶点之间的最短路径长度。为家的顶点编号,也就是设。的最短路径,那么设顶点。

2025-04-13 13:12:51 1005

原创 信息学奥赛一本通 1497:农场派对 | 洛谷 P1821 [USACO07FEB] Cow Party S

的最短路径,直观的想法是求出任意顶点到任意顶点的路径,也就是求解多源最短路问题。原图中顶点A到顶点B的所有路径中最短的路径,就是反图中顶点B到顶点A的所有路径中最短的路径。原图中顶点A到顶点B的路径,就是一条反图中顶点B到顶点A的路径。出发的单源最短路径问题,就可以获得原图中任意其它顶点到顶点。每个农场是一个顶点,农场之间的道路是边,该图是有向图。的最短路径到达开派对的农场,再走一条从顶点。的最短路径,可以建立反图,求反图中顶点。的最短路径加和的最大值,即为本题结果。为源点的单源最短路径问题,获取从顶点。

2025-04-13 08:27:28 950

原创 信息学奥赛一本通 2114:【24CSPJ普及组】接龙(chain) | 洛谷 P11230 [CSP-J 2024] 接龙

个vector,每个vector中分别保存一行的数字,可以使每行数字下标仍然从1开始。下一轮取子段时,要避开上一次取子段所在的行。其它情况自然也是可行的,不会出现连续两次选择一行中的子段的情况。要根据接龙序列最后一个数字的前一个数字分割策略集合。轮选择时,选择哪一行的子段都可以,无需避开哪一行。轮必须以数值1为末尾元素,才是可行的。,当然下标不能小于1,因此实际最小起始下标为。数组,轮数最多100轮,末尾元素值的最大值是。本题要求接龙的起始元素必须是1,第。时,子段起始元素下标最小,为。

2025-04-09 16:47:07 1064

原创 信息学奥赛一本通 1936:【06NOIP普及组】Jam的计数法 | 洛谷 P1061 [NOIP 2006 普及组] Jam 的计数法

该过程为一个预先处理的过程,设bool类型量pre,初值为真,pre为真表示当前在进行预处理,使整个dfs过程达到刚好搜索输出b字符串的状态。看第4位,i需要取下一个字符,如果第4位取j,由于从左到右要严格递增,则第5位无法再取字符。需要根据输入的字符串b,去设置搜索过程中各变量的值,让搜索过程中各变量的值等同于上述代码运行到刚刚输出b字符串时的数值。设计数变量ct计数输出数字的数量,每输出一个数字,计数增加1,当计数达到5时,结束搜索。,搜索确定第一个数的值,如果第1个数的值是b字符串第1个字符的编号。

2025-04-08 00:41:34 309

原创 信息学奥赛一本通 1929:【04NOIP普及组】火星人 | 洛谷 P1088 [NOIP 2004 普及组] 火星人

这是一个预先处理的过程,设bool类型量pre,初值为真,pre为真表示当前在进行预处理,使整个dfs过程达到刚好搜索出输入的num序列的状态。循环m次,每次循环取下一个排列,再将序列输出,即为结果。要想使该排列表示的数加上m,而后得到手指序列,就是要取按字典序排序的在1到n的全排列中,当前排列后的第m个排列。,其下一个排列就是将[lb, ub)区间内元素的全排列按字典序升序给出后,当前序列的下一个序列。火星人的手指排列就是一个1到n的排列,该排列表示的数就是该排列在按字典序排序的1到n的全排列中是。

2025-04-07 23:58:58 687

原创 洛谷 P1330 封锁阳光大学

对每个连通分量进行二分图染色,染色的同时统计每个颜色顶点集合的顶点数量。染色后得到两种颜色的顶点集合。由于要选择最少的顶点,那么看哪一个集合的顶点数量更少,就选择哪个集合中的所有顶点。将每个连通分量中顶点数更少的集合的顶点数加和,即为该题结果。对于一个图的连通分量,所有选择的顶点构成一个集合,未选择的顶点构成一个集合。图中每条边都连接了一个已选择顶点和未选择顶点,显然该图是二分图。河蟹准备封锁所有道路,也就是说每条边两端的顶点至少有一个是被选择的顶点。不存在某条边两端都是未选择顶点。

2025-04-07 21:28:00 261

原创 信息学奥赛一本通 1861:【10NOIP提高组】关押罪犯 | 洛谷 P1525 [NOIP 2010 提高组] 关押罪犯

按权值从大到小遍历所有的边,尽量让权值大的边所连接的两个顶点不在同一个集合。如果发现某条边连接的两个顶点无法放在不同的集合,那么该边的两个顶点就必须放在相同的集合中,该边就是集合中边权最大的边。该边的边权就是所有的集合划分方案中集合中最大边权的最小值。现在给定很多顶点和预设的边,将所有的顶点分为两个集合,每个集合中顶点之间的边都生效。有顶点1到顶点3的边,权值为3,有顶点2到顶点3的边,权值为2,设总顶点数n为10。一个囚犯是一个顶点,一个囚犯对可以看做一条边,每个囚犯对的怨气值是边的权值。

2025-04-07 21:13:32 1003

原创 信息学奥赛一本通 1612:特别行动队 | 洛谷 P3628 [APIO2010] 特别行动队

阶段:前i个元素决策:是否将第i加入子段策略:子段划分的方案策略集合:前i个元素的所有子段划分方案。条件:费用最大统计量:费用状态定义dpidp_idpi​:前i个元素的所有子段划分方案中,费用最大的方案的费用。初始状态dp00dp_0=0dp0​0。

2025-04-04 00:03:34 806

原创 信息学奥赛一本通 1611:仓库建设 | 洛谷 P2120 [ZJOI2007] 仓库建设

阶段:将前i个工厂的产品都运进仓库由于只能往编号更大的工厂运货,为了保证前i个工厂的货都进仓库,那么第i工厂必须建立仓库。决策:在哪个工厂建立仓库策略:选择工厂建立仓库的方案策略集合:要想将前i个工厂的产品都运进仓库,建立仓库的方案条件:费用最小统计量:费用状态定义dpidp_idpi​:考虑将前iii个工厂的产品都运进仓库,且一定在第iii工厂建立仓库的所有方案中,费用最小的方案的费用。初始状态dp00dp_0=0dp0​0。

2025-04-02 23:41:27 959

原创 洛谷 P1032 [NOIP 2002 提高组] 字串变换

如果一个字符串经过变换后得到的字符串是已经能从另一个源头出发变换得到,那么就找到了一条从起点到终点的路径,返回路径长度。解空间树中每个结点包含的状态为一个字符串s,该结点的子结点中的字符串为字符串s通过变换规则可以变化而成的字符串。后的字符串t,判断t是否已出现过,如果t未出现过,则标记t已出现过,而后将t加入队列,变化的步数要增加1。如果出队的字符串u是目标字符串,且步数小于等于10步,则返回变化步数。的长度为len,枚举字符串u中所有长为len的子串,如果存在子串为。的变换规则,已知字符串。

2025-04-02 12:29:19 777

原创 信息学奥赛一本通 1524:旅游航道

一个星球是一个顶点,一条航道是一条无向边,任意两星球之间可以通过航道到达,说明该图是连通图。可以认为输入数据中没有重边和自环。“如果某一条航道的删除使得一些星球不能到达,那么这条航道是不能删除的,称之为「主要航道」”,显然主要航道就是桥。该题求一个连通图的桥的数量,使用tarjan算法可以完成。

2025-03-31 22:50:40 348

原创 CSP-J 2019 入门级 第一轮(初赛) 完善程序(2)

再按照第一个数字从小到大排序,如果第一个数字相同,由于使用的是稳定的排序算法,数对的第二个数字会按照其原有的升序顺序排列,最终结果就符合了目标顺序。当前算法对于每个第一个关键字相同的数对,在目标序列中都是从后向前赋值的,因此需要按照第二个关键字从大到小的顺序遍历,也就是要对。i从0到n-1循环,重复上述过程,即可求出ord数组,得到了每个在目标序列中的数值在原序列中的下标,也就是求出了按照第二个关键字。对数对进行排序,目标顺序为:先按第一个数字从小到大排序,如果第一个数字相同,再按第二数字从小到大排序。

2025-03-30 23:31:50 1137

原创 信息学奥赛一本通 1609:【例 4】Cats Transport | 洛谷 CF311B Cats Transport

ybt 1609:【例 4】Cats Transport洛谷 CF311B Cats Transport输入的ddd序列是从d2d_2d2​到dnd_ndn​,共n-1个数字。人为设d1=0d_1=0d1​=0。设ddd序列的前缀和数组sss,自然s1=0s_1=0s1​=0。思考:一只猫在玩完后,刚好有个饲养员走到这只猫所在的山,将它接走,那么这名饲养员应该从哪一时刻出发?设aia_iai​表示第iii只猫在时刻tit_iti​被一名饲养员接走,接走它的饲养员的出发时刻。从第1座山走到第hih_

2025-03-29 22:54:59 926

原创 信息学奥赛一本通 1980:【18NOIP普及组】摆渡车 | 洛谷 P5017 [NOIP 2018 普及组] 摆渡车

阶段:要接走时刻i及之前到达的所有同学决策:确定一趟车的发车时刻策略:发车方案策略集合:要接走时刻i及之前到达的所有同学的所有发车方案条件:同学等待时间加和最小统计量:同学等待时间加和要想接走时刻i及之前到达的所有同学,即tx≤it_x \le itx​≤i的所有同学,最后一次发车时刻一定大于等于i,此处可以将该最后一次发车时刻固定为i,便于后序推导。状态定义dpidp_idpi​。

2025-03-27 01:09:36 781

原创 信息学奥赛一本通 1514:【例 2】最大半连通子图 | 洛谷 P2272 [ZJOI2007] 最大半连通子图

而本题实际求的是半连通子图的数量,半连通子图必须是导出图,这里选择了顶点A和顶点B,那么顶点A、B之间的所有边都必须被选择,实际只有一个半连通子图。在缩点后的图中,找到点权加和最大的路径,选择该路径上的顶点(强连通分量)在原图中对应的顶点,以及这些顶点之间的边构成的子图,就是原图中的最大半连通子图。该题求图中最大的半连通子图,而且该图必须是导出图,也就是选择顶点数最多的单向连通子图,而且要同时选择选出顶点之间所有的边。有向无环图中的单向连通子图中的顶点一定是图中一条路径上的顶点。的导出图是一个单向连通图。

2025-03-25 00:26:11 841

原创 信息学奥赛一本通 1517:间谍网络 | 洛谷 P1262 间谍网络

现在存在一些初始被标记的顶点(初始被收买的间谍),问能否完成标记所有顶点。如果可以完成,输出收买间谍的最小花费。以下描述中,“某强连通分量”也指该强连通分量在缩点后形成的顶点。如果间谍A被控制,且A可以揭发B,那么间谍B也会被控制。在图论模型中就是如果标记了顶点A,且A到B有弧,那么标记顶点B。一个强连通分量中的只要有一个顶点被标记,那么整个强连通分量中的顶点都会被标记,缩点后表示该强连通分量的顶点也会被标记。每个间谍是一个顶点,如果间谍A可以揭发间谍B,那么从顶点A到顶点B有一条有向边,构成一个有向图。

2025-03-22 12:16:56 606

原创 信息学奥赛一本通 1610:玩具装箱 | 洛谷 P3195 [HNOI2008] 玩具装箱

阶段:前i个元素决策:确定一个子段策略:子段划分方案策略集合:前i个元素的所有子段划分方案条件:费用加和最小统计量:费用加和状态定义dpidp_idpi​:前i个元素的所有子段划分方案中,费用加和最小的方案的费用加和。初始状态dp0dp_0dp0​:前0个元素的费用加和为0。

2025-03-21 23:46:18 1195

原创 信息学奥赛一本通 1239:统计数字(禁STL及相关调用)

遍历时,设当前在看的数值为num,数值为num的元素个数为ct。当遍历到一个与num不同的元素时,输出已经统计好的num与其个数ct。设一个数组a,每个元素是一个结构体对象,保存数值num与其个数ct。该二叉搜索树中左孩子的num小于根的num小于右孩子的num。在遍历完整个数组后,再将最后一段的数值num和数值个数ct输出。m为数字种类数,m最大为10000,二叉搜索树中最多有m个结点。对于每个输入的数值v,在a中二分查找num为v的元素,最后遍历a数组,输出每个元素的数值num和个数ct。

2025-03-21 00:31:33 1056

原创 信息学奥赛一本通 1935:【06NOIP普及组】开心的金明 | 洛谷 P1060 [NOIP 2006 普及组] 开心的金明

该题是01背包问题。金明拥有的总钱数n元对应背包容量,物品的价格对应背包模型中物品重量。金明希望“每件物品的价格与重要度的乘积的总和最大”,那么背包模型中物品的价值就是。表示背包模型中第i物品的价值,也就是该题中物品价格和重要程度的乘积。在输入第i物品的价格。表示背包模型中第i物品的重量,也就是该题中每件物品的价格。接下来动规求解01背包,这一步如果不清楚可以参考。根据题目描述,可以认为每件物品最多只能买一个。可以进行滚动数组优化。

2025-03-20 23:21:12 347

原创 信息学奥赛一本通 1525:电力 | OpenJudge 百练 2117:Electricity

输入时边数可能为0,因此需要判断顶点数和边数都为0时,再结束程序。注意输入的顶点编号从0开始,本人习惯从1开始,就将顶点编号都增加1。尝试以每个顶点为起始顶点调用tarjan,成功调用tarjan进行深搜的次数就是连通分量的数量。输入无向图,该无向图未必是连通的。如果顶点u有邻接点,且不是割点,删掉u后还是有1个连通分量,如果去掉顶点i,则相当于先少1个连通分量,而后增加。表示u所在的连通分量在去掉顶点u后会变成几个连通分量。如果顶点u没有邻接点,删掉u后这里会变为0个连通分量,连通块就是连通分量。

2025-03-19 23:47:17 373

原创 信息学奥赛一本通 1831:【03NOIP提高组】神经网络 | 洛谷 P1038 [NOIP 2003 提高组] 神经网络

神经网络是一个有向无环图,输入层神经元是入度为0的顶点,输出层神经元是出度为0的顶点。只要j到i有边,则j属于该顶点集合。的处于平静状态的顶点。在出队顶点为u时,只有当顶点u处于兴奋状态,即。时,才可以让顶点u影响顶点v的神经状态,让。注意在拓扑排序过程中,访问到的顶点可能是。,因此可以在一开始,就对非输入层顶点的。最后遍历出度为0的顶点,看哪个顶点的。的方法,而输入层顶点的神经元状态。,就输出该顶点的编号i和神经状态。输入层顶点在开始时神经元状态。是求一个顶点的神经元状态。,可以满足该顺序的要求。

2025-03-19 22:43:50 1324

原创 信息学奥赛一本通 1526:Blockade | 洛谷 P3469 [POI 2008] BLO-Blockade

设此时删除与顶点i相连的边,那么考虑第一个顶点为i的点对(i, x),另一个顶点x可以是除顶点i以外的任意顶点,共有n-1种可能。如果顶点i不是割点,那么去掉与顶点i相连的边后,其余各顶点互相连通,因此互不连通的点对只有第二个顶点为i的点对(x, i),第一个顶点有n-1种情况,这样的点对有n-1个。该连通分量中的每个顶点与连通分量外的每个顶点都是互不连通的,因此以该连通分量内顶点为第一个顶点的点对有。如果顶点i是割点,那么去掉与顶点i相连的边后,将整个图分成了多个连通分量。最后输出数组a中的每个数。

2025-03-18 23:58:04 716

原创 信息学奥赛一本通 1521:【 例 2】矿场搭建 | 洛谷 P3225 [HNOI2012] 矿场搭建

对于有两个或两个以上的点双连通分量(就是树中的“分支”顶点),无论哪一个顶点坍塌,该点双连通分量中的顶点都可以通过一条路径走到一个 只有一个割点的点双连通分量(“叶子”顶点)中的出口。对于只有一个割点的点双连通分量(就是树中的“叶子”顶点),该点双连通分量中割点以外的顶点中其中必须设一个出口,否则当割点坍塌时,该点双连通分量中的顶点无法找到一条通往出口的路径。该题问的是:最少选择几个顶点,可以使得在图中删掉任意顶点后,其余顶点都至少有一条已选择顶点的路径,同时求选择顶点的方案数。选择一些顶点作为救援出口。

2025-02-27 22:27:31 800

原创 信息学奥赛一本通 1520:【 例 1】分离的路径 | 洛谷 P2860 [USACO06JAN]Redundant Paths G

使每一对草场之间都会至少有两条相互分离的路径”,而且“两条路径相互分离,是指两条路径没有一条重合的道路”,也就是希望最后图中任何两个顶点之间都有两条边不重复的路径,这样的图就是边双连通图。由于环上的顶点都是度为2的顶点,因此树上叶子结点,也就是度为1的顶点要想处于一个环上,必须在度为1的顶点上连接新的边,使该顶点度变为2。这里可以考虑将图中每个边双连通分量变为一个顶点,也就是“缩点”,缩点后的图一定不存在双连通分量,是无环连通图,也就是树。每个草场是一个顶点,草场之间的双向路是无向边,该图是无向图。

2025-02-23 22:57:55 1010

七段码 HUSTOJ 题目导出文件

七段码 HUSTOJ 题目导出文件

2023-03-14

Java控制台猜数字游戏

文曲星上有过的那种猜数字游戏,输入一个数字,返回A,B作为线索。用最基础的控制台编程实现。 该程序应用了输入,输出,异常处理,正则表达式,字符串处理等基本操作语句,做这个小程序,对初学者掌握基本语句很有帮助。

2011-06-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除