- 博客(24)
- 收藏
- 关注
原创 [USACO10MAR] Great Cow Gathering G
Bessie 正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会。当然,她会选择最方便的地点来举办这次集会。每个奶牛居住在N个农场中的一个,这些农场由N−1条道路连接,并且从任意一个农场都能够到达另外一个农场。道路i连接农场Ai和Bi,长度为Li。集会可以在N个农场中的任意一个举行。另外,每个牛棚中居住着Ci只奶牛。在选择集会的地点的时候,Bessie 希望最大化方便的程度(也就是最小化不方便程度)。比如选择第X。
2024-08-14 09:44:41
792
原创 P10488 Booksort
对于任意状态下,考虑整个排列中书的错误后继的总个数(记为 cnt),可以发现,每次操作最多更改 33 本书的后继。因此,可以将状态 statstat 的估价函数设计为 f(stat)=⌈cnt^3⌉,其中 cnt 表示状态 stat 中有多少本书的后继是错误的。算法 1:采用双向 BFS,从初始状态,目标状态开始各搜 2步,看能否在相同的状态相遇,复杂度降为 560^2(请自行尝试)。在目标状态下,第 ii 本书的后面应该是 i+1 本书,称 i+1 是 i的正确后继。不是转载哦,确实是本人写的。
2024-08-10 22:07:07
845
原创 小C的数学(math)
这一天,他的数学老师给了一道题:给定正整数 a,以及给定一个区间 [b, c],其中 b, c 均为整数(b, c 保证非负)。寻找所有合法的 x,满足 b ≤ x ≤ c,并且 a 能够整除 x,即 x 除以 a的余数为 0。对于 100% 的数据:0 < a ≤ 10^9,0 ≤ b ≤ c ≤ 10^18。对于 40% 的数据:0 < a ≤ 10^3,0 ≤ b ≤ c ≤ 10^3;对于 70% 的数据:0 < a ≤ 10^7,0 ≤ b ≤ c ≤ 10^7;仅一行一个数,表示答案。
2024-08-09 10:42:56
662
原创 Balancing Act
j∈ son(i);删除结点后最大连通块中结点数:f(i)= max(n-d(i),max (d(j));每个测试用例的第一行包含一个整数n(1<=n<=20000),接下来的n-1行每行包含两个空格分隔的节点号,这些节点号是树中一条边的端点,不会列出两次边,所有边都将列出。删除节点4会生成两个树,其成员节点分别为5和1、2、3、6、7,这两棵树中较大的有五个节点,因此节点4的平衡值为5。删除节点1会生成三棵大小相同的树的林:2、6,3、7和4、5,每个树都有两个节点,因此节点1的平衡值是2。
2024-08-08 11:24:07
674
原创 资源分配dp&&换教室
资源分配dp资源分配问题一般包含3个核心数据:资源(本金)、物品(商品)和收益(利润),目标是要在给定的资源和物品(成本、价值)的情况下,如何为每种物品分配资源,从而使得收益最大化。背包问题是一种典型的资源分配问题。资源分配DP的状态一般定义为:状态d(i,j) 表示对前i个物品花费j单位资源可以获得的最大收益。
2024-08-07 10:06:40
1216
原创 火柴游戏(match)-2022蜀山区赛初中组第3题
锤锤要用所有火柴棒摆出其所能摆出最小的数,而柯西则需要用所有火柴棒摆出其所能摆出的最大的数。如果是奇数呢,就安排上0~9中棍棒数次小的且为奇数的数字,也就是7,需要3根棍子,我们把他安排在第一位。由于我们知道,两个数中,位数越大的,数值越大,那就明确了一件事情:位数要尽量的。多,也就是每一个数字占的小棍数尽量少,再回过头来看一下在0~9中哪一个最少,很明显,是1,T 行,每组数据包括一行,分别为锤锤所能摆出的最优值以及柯西所能摆出的最优值。最小的首先位数尽量小,8用的棍棒数最多,有7根,我们先安排8上。
2024-08-05 15:29:25
948
原创 线性DP+摆渡车
同学 5 在第 5 分钟开始等车,等待 0 分钟,在第 5 分钟乘坐摆渡车出发。同学 1 和同学 4 在第 3 分钟开始等车,等待 0 分钟,在第 3 分钟乘坐摆渡车 出发。同学 2 和同学 3 在第 4 分钟开始等车,等待 0 分钟,在第 4 分钟乘坐摆渡车 出发。同学 4 和同学 5 在第 5 分钟开始等车,等待 1 分钟,在第 6 分钟乘坐摆渡车出发。同学 3 在第 1 分钟开始等车,等待 0 分钟,在第 1 分钟乘坐摆渡车出发。另有 20%的数据,n≤500, m≤10, 0≤ti≤4×10^6。
2024-08-04 12:52:49
1209
1
原创 排队照相
定义状态:d(i,j,k,l,m)表示1-5排分别站i, j, k, l, m个人的方案数,答案ans = d(n1, n2, n3, n4, n5)。第2行:R个空格分隔的整数,分别表示第1排到第R排的人数N[1], N[2],...N[R](N[1]>=N[2] >=... >= N[R]);① d(i-1, j, k, l, m)在第1排增加1个人,需要满足:(i-1 >= j)。② d(i, j-1, k, l, m)在第2排增加1个人,需要满足:(j-1 >= k)。
2024-08-04 09:46:09
627
原创 Mobile Service
① 从p[i]走到p[i+1]:d(i+1,j,k) = d(i,j,k) + c[p[i]][p[i+1]];② 从j走到p[i+1]:d(i+1,p[i],k) = d(i,j,k) + c[j][p[i+1]];③ 从k走到p[i+1]:d(i+1,j,p[i]) = d(i,j,k) + c[k][p[i+1]];第1行:两个空格分隔的整数M, N(3<=M<=200, 1<=N<=1000)。定义状态:d(i, j, k)表示完成任务i后,3名员工所在位置分别为p[i], j, k时的最低花费。
2024-08-03 13:00:10
547
原创 优秀的拆分(power)
例如,10 = 8 + 2 = 2^3 + 2^1 是一个优秀的拆分。但是,7 = 4 + 2 + 1 = 2^2 + 2^1 + 2^0就不是一个优秀的拆分,因为1不是2的正整数次幂。注意,6 = 2 + 2 + 2不是一个优秀的拆分,因为拆分成的3个数不满足每个数互不相同。对于正整数n的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,n被分解为了若干个不同的2的正整数次幂。现在,给定正整数n,你需要判断这个数的所有拆分中,是否存在优秀的拆分。对于另外20%的数据,保证n为2的正整数次幂。
2024-08-02 18:45:56
379
原创 灵活的猫咪(cat)-2022安徽省合肥市包河区初中-T3
小时候玩过一个游戏叫跳房子,现在我们改一改游戏的设定,现有小猫咪从可以跳到任何房屋的楼顶,假设一共有N幢建筑排成一条线,每幢建筑的高度各不相同。小猫咪只能往下跳(即:只能从较高的建筑跳到较低的建筑)。你希望小猫咪尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。请问,小猫咪最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?每组测试数据包含两行:第一行是一个整数N(N<100),代表有N幢建筑。对于每一组测试数据,输出一行,包含一个整数,代表小猫咪最多可以经过的建筑数量。
2024-08-01 09:28:12
420
原创 A star
如果f(now) > g(now),可能会导致本来在最优解搜索路径上的状态被错误的估计了较大的代价,被压在堆中无法取出,从而导致非最优解搜索路径上的状态不断扩展,直至在目标状态上产生错误的答案。结合以上两点,可知 d(y) + f(y) < d(x) + f(x),因此y就会被从堆中取出进行扩展,最终更新到目标状态上,产生最优解。② 对于最优解路径上的状态y,由于f(y)<=g(y),可得:d(y) + f(y) <= d(y) + g(y);对于任意的状态now,应该有f(now) <= g(now)。
2024-07-31 20:01:37
788
原创 Flood-it!
通过这种方式,玩家可以从起始网格(左上角)淹没棋盘的区域,直到所有网格的颜色都相同。“两个网格连接”的说法意味着,在这条路径上的每对相邻网格颜色相同且共享一条边的情况下,这两个网格之间存在一条路径。对于每个测试用例,第一行包含一个整数N(2<=N<=8),表示游戏板的大小。以下N行显示了代表游戏板的N×N矩阵(ai,j)N×N。在游戏开始时,系统将随机生成一个N×N的正方形棋盘,棋盘的每个网格都由六种颜色之一绘制。在开始时给定一个彩色棋盘,请找到赢得游戏的最小步数(将所有网格更改为相同的颜色)。
2024-07-31 19:49:05
472
原创 IDA*知识点讲解&&[SCOI2005]骑士精神
5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。该算法限定一个深度,在不超过该深度的前提下执行DFS,如果找不到解就扩大深度限制,重新进行搜索。接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位。考虑将估价函数和DFS相结合,DFS有个缺点,就是一旦估价出现失误,容易向下递归深入一个不能产生最优解的分支,浪费许多时间。
2024-07-31 11:08:01
433
原创 编程猫(cat)-2022蜀山区赛初中组第2题
小S是一只会编程的猫。在一个无边无际的棋盘上,它可以按照输入的命令进行移动,命令包含’E’、’S’、’W’、’N’四种,分别对应四个不同的方向,依次为东、南、西、北。作为会编程的猫,它不仅可以执行一个命令,还可以执行命令串。在0时刻时小S处在(0,0)的位置,并且输入了命令串。1.在搜索中,可以尝试把dfs换成bfs,dijstra堆优化,剪枝操作,双向bfs,这些都是很好用的。第1行:一个字符串,表示输入的命令串,保证至少有1个命令。一行,两个整数,表示T秒时,小S的坐标。,但是,他有一个问题,会超时!
2024-07-25 14:49:17
707
原创 矩阵距离——广度优先搜索
这道题如果一个一个枚举,就会超时,要mn个bfs,时间复杂度O(mn*mn)应该所有1都入队列,只用一个bfs,时间复杂度O(mn)一个N行M列的矩阵B,相邻两个整数之间用一个空格隔开。接下来一个N行M列的01矩阵,数字之间没有空格。【耗时限制】2000ms 【内存限制】128MB。即求与每个位置曼哈顿距离最近的1。就像这样,全TLE,0分。第一行两个整数n,m。
2024-07-20 09:27:27
583
原创 Sudoku
5. 优化搜索顺序: 在一些搜索问题中,搜索树的各个层次、分支之间的顺序不是一定的,不同的搜索顺序会产生不同的搜索树形态,其规模大小也可能相差甚远。4. 排除等效冗余: 在搜索过程中,如果我们能够判定从搜索树的当前节点上沿着某几条不同分支到达的子树是等效的,那么只需要对其中的一条分支执行搜索。3. 记忆化搜索: 在搜索过程中记录每个状态的搜索结果,在重复遍历一个状态时直接检索并返回,记忆化搜索时一种特殊的最优性剪枝。给定网格中的一些数字,你的目标是确定剩余的数字,使数字1到9在。一下是没有注释的代码。
2024-07-13 16:47:31
989
原创 骑士【ZJOI2008】
于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶。国王交给了你一个艰巨的任务,从所有的骑士中选出一个骑士军团,使得军团内没有矛盾的两人(不存在一个骑士与他最痛恨的人一同被选入骑士军团的情况),并且,使得这支骑士军团最具有战斗力。每个骑士都有且仅有一个自己最厌恶的骑士(当然不是他自己),他是绝对不会与自己最厌恶的人一同出征的。为了描述战斗力,我们将骑士按照 1 至 n 编号,给每名骑士一个战斗力的估计,一个军团的战斗力为所有骑士的战斗力总和。楼主的思路~送给大家了!
2024-07-13 10:06:11
563
原创 2022安徽省合肥市经开区初中组T4-最短的路(short)
牛牛被邀请参加安徽省田径爱好者聚会,是在城市n,而牛牛当前所处的城市为1,附近还有很多城市2~n-1,有些城市之间没有直接相连的路,有些城市之间有直接相连的路,这些路都是双向的,当然也可能有多条。现在给出直接相邻城市的路长度,牛牛想知道从城市1到城市n,最短多少距离。输入n, m,表示n个城市和m条路;接下来m行,每行a b c, 表示城市a与城市b有长度为c的路。输出1到n的最短路。如果1到达不了n,就输出-1。【耗时限制】1000ms 【内存限制】128MB。很明显一道模板dijstra。
2024-07-12 15:02:48
1402
原创 除“7”器(seven)-2022安徽省合肥市蜀山区赛初中组第1题
对于给定的一个正整数,小 C 对能被 7 整除的正整数,或者它的十进制表示法中某一位上的数字为 7,则称其为与 7 相关的数。现求所有小于等于n的与7无关的正整数的和。输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的和。【耗时限制】1000ms 【内存限制】256MB。如果n再大一点儿,for循环超时怎么办?先算出1-n总和,再减去不满足条件的即可。输出到文件 seven.out 中。【数据范围】n <=10000。小C不是很喜欢数字“7”。输入为一行,正整数n。楼主绝对不会骗你们哒~
2024-07-12 14:46:56
1259
原创 RAN-Rendezvous【POI2012】
由于是有向图,我们可以枚举x走过环到y的距离和y走过环到x的距离,根据题目输出答案即可。2.预处理出树上倍增的fa数组和每个点所在的子树、基环树编号,并且准备好要使用的距离的信息。3.在满足条件 1和 2的情况下,如果解不唯一,则还需要令 min(x,y)最小。2.在满足条件 1的情况下,如果解不唯一,则还需要令 max(x,y)最小。4.在满足条件 1、2和 3的情况下,如果解不唯一,则还需要令 x≥y。如果不存在满足条件1的 x、y,输出 -1 -1。对于顶点 i,记它的出边为 (i,a[i])。
2024-07-11 15:33:15
1015
原创 知识点分享1——c++并查集
今天刷论坛发现陆老师说可以分享题目思路,但不能分享oj平台题目代码......然后楼主就突发奇想,觉得可以分享一下知识点,但由于今天是第一天,所以并不知道要分享什么......随便挑了一个,并借鉴了一下老师的讲义当然这些都是废话,下面才是正文。
2024-07-10 15:03:25
1717
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅