![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
洛谷
Rrrrya
这个作者很懒,什么都没留下…
展开
-
洛谷:P5837 [USACO19DEC]Milk Pumping G(Dijkstra)
传送思路:枚举流量(1-n),然后按照花费找最短路。#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f#define pb push_back#define mem(a,x) memset(a,x,sizeof(a))int n, m;int ans = 0;struct node{ int c, f;}f[1010][1010];struct Node{ int u;原创 2020-07-22 16:39:22 · 353 阅读 · 0 评论 -
洛谷:P2925 [USACO08DEC]Hay For Sale S(简单背包)
题目描述农民john面临一个很可怕的事实,因为防范失措他存储的所有稻草给澳大利亚蟑螂吃光了,他将面临没有稻草喂养奶牛的局面。在奶牛断粮之前,john拉着他的马车到农民Don的农场中买一些稻草给奶牛过冬。已知john的马车可以装的下C(1 <= C <=50,000)立方的稻草。农民Don有H(1 <= H <= 5,000)捆体积不同的稻草可供购买,每一捆稻草有它自己的体积(1 <= V_i <= C)。面对这些稻草john认真的计算如何充分利用马车的空间购买尽量多的原创 2020-06-01 16:44:12 · 298 阅读 · 0 评论 -
洛谷:P3074 [USACO13FEB]Milk Scheduling S(拓扑+DFS)
题目描述Farmer John’s N cows (1 <= N <= 10,000) are conveniently numbered 1…N. Each cow i takes T(i) units of time to milk. Unfortunately, some cows must be milked before others, owing to the layout of FJ’s barn. If cow A must be milked before cow B, th原创 2020-05-31 12:40:25 · 463 阅读 · 0 评论 -
洛谷:P2722 [USACO3.1]总分 Score Inflation(多重背包)
题目描述我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数。你的任务是写一个程序来告诉 USACO 的职员,应该从每一个种类中选取多少题目,使得解决题目的总耗时在竞赛规定的时间里并且总分最大。输入格式输入的第一行是用空格隔开的两个整数,分别代表竞赛时间 m 和题目总数 n。第 2到第 (n + 1)行,每行两个用空格隔开的整数,第 (i + 1) 行的整数 pi, ti 分别代表解决第 i 道题得到的分数和需要花费的时原创 2020-05-29 16:36:43 · 215 阅读 · 0 评论 -
洛谷:P1832 A+B Problem(再升级)(完全背包)
题目描述·1+1=? 显然是2·a+b=? 1001回看不谢·哥德巴赫猜想 似乎已呈泛滥趋势·以上纯属个人吐槽·给定一个正整数n,求将其分解成若干个素数之和的方案总数。输入格式一行:一个正整数n输出格式一行:一个整数表示方案总数输入7输出3#include<bits/stdc++.h>using namespace std;#define pi acos(-1)#define mod 1e9+7#define INF 0x3f3f3f#define fi f原创 2020-05-29 16:22:48 · 199 阅读 · 0 评论 -
洛谷:P1507 NASA的食物计划(01背包以及背包的逆序枚举)
重点:背包的逆序枚举(降维)的原因题目背景NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时,解决方法也许只能让航天员出仓维修,但是多次的维修会消耗航天员大量的能量,因此NASA便想设计一种食品方案,让体积和承重有限的条件下多装载一些高卡路里的食物.题目描述航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱,每件食品都有各自的体积、质量以及所含卡路里,在告诉你体积原创 2020-05-29 14:24:27 · 308 阅读 · 0 评论 -
洛谷:P1164 小A点菜(简单dp)
题目背景uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种。uim指着墙上的价目表(太低级了没有菜单),说:“随便点”。题目描述不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩M元(M≤10000)。餐馆虽低端,但是菜品种类不少,有N种(N≤100),第i种卖ai 元(ai ≤1000)。由于是很低端的餐馆,所以每种菜只有一份。小A奉行“不把钱吃光不罢休”,所以他点单一定刚好吧uim身上所有钱花完。他想知道有多少种点菜方法。由于小A肚子太饿,所以最多只能原创 2020-05-29 13:45:04 · 434 阅读 · 0 评论 -
洛谷:P1734 最大约数和(01背包)
题目描述选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。输入格式输入一个正整数S。输出格式输出最大的约数之和。输入11输出9这题主要是一个转化,这里的s既是背包容量,又是物品种类。#include<bits/stdc++.h>using namespace std;#define pi acos(-1)#define mod 1e9+7#define INF 0x3f3f3f#define fi first#define se sec原创 2020-05-29 13:24:37 · 329 阅读 · 0 评论 -
洛谷:P1049 装箱问题(简单01背包)
题目描述有一个箱子容量为V(正整数,0 ≤V≤20000),同时有n个物品1<n≤30,每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式1个整数,表示箱子容量1个整数,表示有n个物品接下来n行,分别表示这n个物品的各自体积输出格式1个整数,表示箱子剩余空间。输入2468312797输出0和采药几乎一样的方法#include<bits/stdc++.h>using namespace std;#d原创 2020-05-28 14:55:00 · 263 阅读 · 0 评论 -
洛谷:P1048 采药(简单01背包)
题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入格式第一行有 2 个整数 T(1≤T≤1000)和 M(1≤M≤100),用一个空原创 2020-05-28 14:26:41 · 140 阅读 · 0 评论 -
洛谷:P1313 计算系数(组合数)
题目描述给定一个多项式(by+ax)k,请求出多项式展开后xn y^m项的系数。输入格式共一行,包含5个整数,分别为a ,b ,k ,n ,m每两个整数之间用一个空格隔开。输出格式共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。输入1 1 3 1 2输出3由(x+y)^k,的系数分布为杨辉三角,所以只要再乘上 a^n 和 b^m即可。#include<bits/stdc++.h>using namespace std;#defi原创 2020-05-28 13:23:42 · 474 阅读 · 0 评论 -
洛谷:P1025 数的划分(DFS剪枝)
题目描述将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,51,5,15,1,1问有多少种不同的分法。输入格式n,k (6<n≤200,2≤k≤6)输出格式1个整数,即不同的分法。输入7 3输出4#include<bits/stdc++.h>using namespace std;#define pi acos(-1)#define mod 1e9+7#define INF 0原创 2020-05-28 12:44:16 · 416 阅读 · 0 评论 -
洛谷:P1154 奶牛分厩(数论)
题目描述农夫约翰有N(1≤N≤5000)头奶牛,每头奶牛都有一个唯一的不同于其它奶牛的编号Si ,所有的奶牛都睡在一个有K个厩的谷仓中,厩的编号为0到K−1。每头奶牛都知道自己该睡在哪一个厩中,因为约翰教会了它们做除法,Si mSod K的值就是第i头奶年所睡的厩的编号。给出一组奶牛的编号,确定最小的K使得没有二头或二头以上的奶牛睡在同一厩中。输入格式第一行一个正整数N,第2到N+1行每行一个整数表示一头奶牛的编号。输出格式一个整数,表示要求的最小的K,对所有的测试数据这样的K是一定存在的。输原创 2020-05-28 11:22:21 · 1162 阅读 · 0 评论 -
洛谷:P2746 [USACO5.3]校园网Network of Schools(Tarjan联通分量+缩点)
题目描述一些学校连入一个电脑网络。那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”)。注意即使 B 在 A 学校的分发列表中,A 也不一定在 B 学校的列表中。你要写一个程序计算,根据协议,为了让网络中所有的学校都用上新软件,必须接受新软件副本的最少学校数目(子任务 A)。更进一步,我们想要确定通过给任意一个学校发送新软件,这个软件就会分发到网络中的所有学校。为了完成这个任务,我们可能必须扩展接收学校列表,使其加入新成员。计算最少需要增加几个扩展,使得不论我们给哪个学校发送新原创 2020-05-22 15:56:58 · 149 阅读 · 0 评论 -
洛谷:P2863 [USACO06JAN]The Cow Prom S(Tarjan强连通块)
题目描述有一个 nn 个点,mm 条边的有向图,请求出这个图点数大于 11 的强联通分量个数。输入格式第一行为两个整数 n 和 m。第二行至 m+1 行,每一行有两个整数 a 和 b,表示有一条从 a 到 b 的有向边。输出格式仅一行,表示点数大于 1的强联通分量个数。输入5 42 43 51 24 1输出1#include<bits/stdc++.h>using namespace std;#define pi acos(-1)#define mod 100原创 2020-05-21 13:22:37 · 284 阅读 · 0 评论 -
洛谷:P1656 炸铁路(BFS或者Tarjan割边)
题目描述A 国派出将军uim,对 B 国进行战略性措施,以解救涂炭的生灵。B 国有 n 个城市,这些城市以铁路相连。任意两个城市都可以通过铁路直接或者间接到达。uim 发现有些铁路被毁坏之后,某两个城市无法互相通过铁路到达。这样的铁路就被称为 key road。uim 为了尽快使该国的物流系统瘫痪,希望炸毁铁路,以达到存在某两个城市无法互相通过铁路到达的效果。然而,只有一发炮弹(A 国国会不给钱了)。所以,他能轰炸哪一条铁路呢?输入格式第一行 n,m (1≤n≤150,1≤m≤5000),分别原创 2020-05-18 20:36:17 · 437 阅读 · 0 评论 -
洛谷:P4017 最大食物链计数(图)
题目背景你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。题目描述给你一个食物网,你要求出这个食物网中最大食物链的数量。(这里的“最大食物链”,指的是生物学意义上的食物链,即最左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费者。)Delia 非常急,所以你只有 1 秒的时间。由于这个结果可能过大,你只需要输出总数模80112002 的结果。输入格式第一行,两个正原创 2020-05-18 17:02:19 · 505 阅读 · 0 评论 -
洛谷:P3818 小A和uim之大逃离 II(BFS)
题目描述瞬间,地面上出现了一个H行W列的巨幅矩阵,矩阵的每个格子上要么是空地‘.’或者障碍’#’。他们起点在(1,1),要逃往(H,W)的出口。他们可以一次向上下左右移动一格,这个算一步操作。不过他们还保留着上次冒险时收集的魔液,一口气喝掉后可以瞬移到相对自己位置的(D,R)向量;也就是说,原来的位置是(x,y),然后新的位置是(x+D,y+R),这个也算一步操作,不过他们仅能至多进行一次这种操作(当然可以不喝魔液)。这个地方是个是非之地。所以他们希望知道最小能有几步操作可以离开这个鬼地方。不过他们可原创 2020-05-14 16:24:01 · 205 阅读 · 0 评论 -
洛谷:P2895 [USACO08FEB]Meteor Shower S(BFS)
题目描述Bessie hears that an extraordinary meteor shower is coming; reports say that these meteors will crash into earth and destroy anything they hit. Anxious for her safety, she vows to find her way to a safe location (one that is never destroyed by a meteo原创 2020-05-14 12:09:32 · 343 阅读 · 0 评论 -
洛谷:P3395 路障(BFS)
题目描述B君站在一个n\times nn×n的棋盘上。最开始,B君站在(1,1)这个点,他要走到(n,n)这个点。B君每秒可以向上下左右的某个方向移动一格,但是很不妙,C君打算阻止B君的计划。每秒结束的时刻,C君会在(x,y)上摆一个路障。B君不能走在路障上。B君拿到了C君准备在哪些点放置路障。所以现在你需要判断,B君能否成功走到(n,n)。保证数据足够弱:也就是说,无需考虑“走到某处然后被一个路障砸死”的情况,因为答案不会出现此类情况。输入格式首先是一个正整数T,表示数据组数。对于每一组数原创 2020-05-14 11:20:02 · 923 阅读 · 0 评论 -
洛谷:P1649 [USACO07OCT]Obstacle Course S(DFS)
题目描述Consider an N x N (1 <= N <= 100) square field composed of 1by 1 tiles. Some of these tiles are impassible by cows and are marked with an ‘x’ in this 5 by 5 field that is challenging to navigate:. . B x .. x x A .. . . x .. x . . .. . x .原创 2020-05-14 09:54:15 · 381 阅读 · 0 评论 -
洛谷:P1443 马的遍历(BFS)
题目描述有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步输入格式一行四个数据,棋盘的大小和马的坐标输出格式一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1)输入3 3 1 1输出0 3 23 -1 12 1 4#include<bits/stdc++.h>using namespace std;#define pi acos(-原创 2020-05-13 14:30:06 · 339 阅读 · 0 评论 -
洛谷:P3958 奶酪(DFS)
题目描述现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为是无限大的,奶酪 中间有许多 半径相同 的球形空洞。我们可以在这块奶酪中建立空间坐标系,在坐标系中, 奶酪的下表面为z=0,奶酪的上表面为z = h。现在,奶酪的下表面有一只小老鼠 Jerry,它知道奶酪中所有空洞的球心所在的坐 标。如果两个空洞相切或是相交,则 Jerry 可以从其中一个空洞跑到另一个空洞,特别 地,如果一个空洞与下表面相切或是相交,Jerry 则可以从奶酪下表面跑进空洞;如果 一个空洞与上表面相切或是相交,Jerry原创 2020-05-13 17:38:01 · 612 阅读 · 0 评论 -
洛谷:P3956 棋盘(DFS)
题目描述有一个m×m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上、 下、左、 右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你不需要花费金币;如果不同,则你需要花费 1个金币。另外, 你可以花费 2 个金币施展魔法让下一个无色格子暂时变为你指定的颜色。但这个魔法不能连续使用, 而且这个魔法的持续时间很短,也就是说,如果你使用了这个魔法,走到了这个原创 2020-05-13 12:50:27 · 358 阅读 · 0 评论 -
洛谷:P6207 [USACO06OCT] Cows on Skates G(DFS)
题目描述Farmer John 把农场划分为了一个 r 行 c 列的矩阵,并发现奶牛们无法通过其中一些区域。此刻,Bessie 位于坐标为 (1,1) 的区域,并想到坐标为 (r,c) 的牛棚享用晚餐。她知道,以她所在的区域为起点,每次移动至相邻的四个区域之一,总有一些路径可以到达牛棚。这样的路径可能有无数种,请你输出任意一种,并保证所需移动次数不超过 100000100000。输入格式第一行两个整数 r,c。接下来 r 行,每行 cc个字符,表示 Bessie 能否通过相应位置的区域。字符只可能原创 2020-05-13 12:10:59 · 323 阅读 · 0 评论 -
洛谷:P1747 好奇怪的游戏(BFS)
题目描述爱与愁大神坐在公交车上无聊,于是玩起了手机。一款奇怪的游戏进入了爱与愁大神的眼帘:***(游戏名被打上了马赛克)。这个游戏类似象棋,但是只有黑白马各一匹,在点x1,y1和x2,y2上。它们得从点x1,y1和x2,y2走到1,1。这个游戏与普通象棋不同的地方是:马可以走“日”,也可以像象走“田”。现在爱与愁大神想知道两匹马到1,1的最少步数,你能帮他解决这个问题么?输入格式第1行:两个整数x1,y1第2行:两个整数x2,y2输出格式第1行:黑马到1,1的步数第2行:白马到1,1的步数输原创 2020-05-12 22:45:05 · 397 阅读 · 0 评论 -
洛谷:P1332 血色先锋队(BFS)
题目描述巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物。孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好聚集了起来,以抵抗天灾军团的围剿。可怕的是,他们之中有人感染上了亡灵瘟疫,如果不设法阻止瘟疫的扩散,很快就会遭到灭顶之灾。大领主阿比迪斯已经开始调查瘟疫的源头。原来是血色先锋军的内部出现了叛徒,这个叛徒已经投靠了天灾军团,想要将整个血色先锋军全部转化为天灾军团!无需惊讶,你就是那个叛徒。在你的行踪败露之前,要尽原创 2020-05-12 16:58:37 · 321 阅读 · 0 评论 -
洛谷:P1331 海战(BFS)
题目描述在峰会期间,武装部队得处于高度戒备。警察将监视每一条大街,军队将保卫建筑物,领空将布满了F-2003飞机。此外,巡洋船只和舰队将被派去保护海岸线。不幸的是因为种种原因,国防海军部仅有很少的几位军官能指挥大型海战。因此,他们考虑培养一些新的海军指挥官,他们选择了“海战”游戏来帮助学习。在这个著名的游戏中,在一个方形的盘上放置了固定数量和形状的船只,每只船却不能碰到其它的船。在这个题中,我们仅考虑船是方形的,所有的船只都是由图形组成的方形。编写程序求出该棋盘上放置的船只的总数。输入格式输入文件头原创 2020-05-12 16:50:57 · 796 阅读 · 0 评论 -
洛谷:P1238 走迷宫(DFS)
题目描述有一个mn格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这mn个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用-1表示无路)。优先顺序:左上右下输入格式第一行是两个数m,n(1<m,n<15),接下来是m行n列由1和0组成的数据,最后两行是起始点和结束点。输原创 2020-05-12 16:46:28 · 1027 阅读 · 0 评论 -
洛谷:P1123 取数游戏(DFS)
题目描述一个N×M的由非负整数构成的数字矩阵,你需要在其中取出若干个数字,使得取出的任意两个数字不相邻(若一个数字在另外一个数字相邻8个格子中的一个即认为这两个数字相邻),求取出数字和最大是多少。输入格式第1行有一个正整数T,表示了有T组数据。对于每一组数据,第一行有两个正整数N和M,表示了数字矩阵为N行M列。接下来N行,每行M个非负整数,描述了这个数字矩阵。输出格式T行,每行一个非负整数,输出所求得的答案。输入34 467 75 63 1029 29 92 1421 68 71原创 2020-05-12 10:40:18 · 554 阅读 · 0 评论 -
洛谷:P1506 拯救oibh总部(DFS)
题目背景oibh总部突然被水淹没了!现在需要你的救援……题目描述oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去的……现在给出oibh的围墙建设图,问oibh总部没被淹到的重要区域(由"0"表示)有多少。输入格式第一行是两个数,x和y(x,y<=500)第二行及以下是一个由和0组成的xy的图。输出格式输出没被水淹没的oibh总部的“0”的数量。输入(*显示有问题用1代替)样例输入14 500000原创 2020-05-11 20:18:22 · 283 阅读 · 0 评论 -
洛谷:P1162 填涂颜色(BFS)
题目描述由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向。现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂色后的方阵如下:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 10 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2 11 1 1 1 1原创 2020-05-11 19:55:08 · 633 阅读 · 0 评论 -
洛谷:P1451 求细胞数量(BFS)
题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。(1<=m,n<=100)?输入格式输入:整数m,n(m行,n列)输出格式输出:细胞的个数输入4 100234500067103456050020456006710000000089输出4#include<bits/stdc++.h>using namespace std;#define pi acos(-1)原创 2020-05-11 19:34:29 · 431 阅读 · 0 评论 -
洛谷:P1141 01迷宫(DFS)
题目描述有一个仅由数字00与11组成的n \times nn×n格迷宫。若你位于一格0上,那么你可以移动到相邻44格中的某一格11上,同样若你位于一格1上,那么你可以移动到相邻44格中的某一格00上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。输入格式第11行为两个正整数n,mn,m。下面nn行,每行nn个字符,字符只可能是00或者11,字符之间没有空格。接下来mm行,每行22个用空格分隔的正整数i,ji,j,对应了迷宫中第ii行第jj列的一个格子,询问从这一格开原创 2020-05-11 17:58:55 · 654 阅读 · 0 评论 -
洛谷:P1460 [USACO2.1]健康的荷斯坦奶牛 Healthy Holsteins(DFS)
题目描述农民 John 以拥有世界上最健康的奶牛为傲。他知道每种饲料中所包含的牛所需的最低的维他命量是多少。请你帮助农夫喂养他的牛,以保持它们的健康,使喂给牛的饲料的种数最少。给出牛所需的最低的维他命量,输出喂给牛需要哪些种类的饲料,且所需的饲料剂量最少。维他命量以整数表示,每种饲料最多只能对牛使用一次,数据保证存在解。输入格式第一行一个整数 vv,表示需要的维他命的种类数。第二行 vv 个整数,表示牛每天需要的每种维他命的最小量。第三行一个整数 gg,表示可用来喂牛的饲料的种数。下面 gg原创 2020-05-11 16:22:39 · 642 阅读 · 0 评论