- 博客(18)
- 收藏
- 关注
原创 算法设计与分析 第五次编程作业 1572. 填满棋盘
题目描述给出一个有破损格子的正棋盘,和数量不限的1*2形状的棋子。你可以横着或竖着摆放棋子,请你判断棋盘(除破损个格子外)是否能被铺满。输入格式第一行包含一个正整数T≤3T\le 3T≤3,表示数据的组数。对于每组数据:第一行包含三个正整数n,m,kn,m,kn,m,k分别表示棋盘的行数,列数,破损格子的数量。接下来kkk行每行两个正整数xi,yix_i,y_ixi,yi,表示第iii个破损的格子在第xix_ixi行,第yiy_iyi列。输出格式对于每组数据输出一行,如果棋盘可以被覆
2022-05-15 09:32:55
554
原创 算法设计与分析 第五次编程作业 1203. 卖猪
题目描述你有mmm个猪圈,每个猪圈中有若干头猪。 有nnn个顾客按顺序来买猪,每个顾客需要若干头猪。 每个顾客都有某几个猪圈的钥匙(只有顾客才拥有钥匙),只有某个猪圈打开后才能分配这个猪圈里的猪,且顾客离开后会把门关闭。每次你可以决定卖给每个顾客哪些猪(不能多于顾客需要的数量),并且可以在一个顾客买完后,调整没有锁门的猪圈中猪数量,比如,把几个猪圈中的猪全部转到一个猪圈内,请问最后最多能卖掉几头猪。输入格式输入的第一行是两个整数mmm和nnn。 其中mmm是猪圈的数量,nnn是顾客的数量。输入的第
2022-05-14 17:18:32
439
原创 算法设计与分析 第五次编程作业 1571. 最大流
题目描述给出一个网络图,及其源点汇点,求出其网络最大流。输入格式第一行包含四个正整数n,m,s,tn,m,s,tn,m,s,t, 分别表示点的个数,有向边的数量,源点序号,汇点序号。接下来mm行每行三个正整数,ui,vi,wiu_i,v_i,w_iui,vi,wi,表示第iii条有向边从uiu_iui出发,到达viv_ivi,能通过的最大流量为wiw_iwi。输出格式一个正整数,即为该网络的最大流。样例输入4 5 4 34 2 304 3 202 3 202 1 301
2022-05-14 12:59:34
458
原创 算法设计与分析 第四次编程作业 1163. 棋盘
题目描述给定一个大小为m×nm \times nm×n的棋盘,其中有一些格子是破损的。破损的格子不能摆放棋子,但是不影响棋子移动。请求出摆放马(数量不限)使得他们不会互相攻击的方案数。 这里马的攻击范围是日字形(参考国际象棋规则)。输入格式输入第一行三个整数m,n,km,n,km,n,k, mmm和nnn表示棋盘的大小,kkk表示破碎格子的个数。接下来kkk行,每行两个整数表示破损格子的位置。输出格式输出一个整数,表示方案数。由于方案可能过多,请输出对(109+7)(10^9+7)(109+7)
2022-04-20 17:40:06
924
原创 算法设计与分析 第四次编程作业 14387. 【原4387】Longest Increasing Sequence
题目描述author: sakiko 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4387Description给定一个长度为nnn的整数序列,求出它的最长上升子序列。子序列不一定要在原序列中连续,但相对顺序要一致,如[1,2][1, 2][1,2]是[1,3,2][1, 3, 2][1,3,2]的一个子序列,而[2,3][2, 3][2,3]不是。Input Format第一行是一个整数nnn,表示序列的长度。接下来一行nnn个
2022-04-18 23:53:39
234
原创 算法设计与分析 第四次编程作业 14385. 【原4385】Edit Distance
题目描述author: sakiko 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4385Description给定两个字符串,需要你求出他们的编辑距离。这里我们假设添加或删除一个字符的代价为xxx,修改一个字符的代价为yyy,并有y<2xy<2xy<2x。Input Format第一行两个整数xxx和yyy分别表示插入删除字符和修改字符的代价。接下来两行,是我们需要求出编辑距离的两个字符串。Output Fo
2022-04-17 22:49:19
226
原创 算法设计与分析 第四次编程作业 1433. Bo
题目描述博先生掌握了股市内幕消息,因此他想闷声大发财。对于特定的一只股票,博先生知道了他 nnn 天内的价格走势,并想借此牟利。但是,如果一次交易太多的被发现的话,人生就要结束了罢。因此,他每天只能做以下三种操作之一:以当天的价格买入一股。以当天的价格卖出一股。博先生不能在持有 000 股时卖出。或者,什么也不做。博先生现在持有 000 股股票,他希望在第 nnn 天结束时手里持有 00 股股票。请帮博先生计算一下,他最多能赚多少钱?Input请从 stdin 读入。第一行一个正整数 n
2022-04-17 21:36:23
1094
原创 算法设计与分析第三次编程作业 14142. 【原4142】抗震救灾
题目描述author: 侯不会 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4142.Description近日,由于一场世纪大地震,某国通讯设施全面瘫痪。在灾后重建中,抢修通讯设备成为首要任务。现在,你已经了解该国的基本状况,该国首脑希望你设计一种方案,使得所用的救灾资金尽可能少。 已知该国地形可以简化成包含nnn个点的一张无向图,每个点代表一座城市。由于地震的破坏,该国的城市之间已经只剩下mmm条仍具备通行条件的双向道路。当然,目前该
2022-04-06 00:05:17
348
原创 算法设计与分析第三次编程作业 20043. Fair division
题目描述你——伟大的赏金猎人,经过了史诗般的战斗后,夺取了属于你的战利品——一个重量为 www 克的金块。你的 nnn 个扈从功不可没。根据每个人自己汇报的功劳大小,你决定给第 iii 个扈从 aia_iai 重量的金块,其中 ∑iai=w\sum_i a_i = w∑iai=w。在以枪火为筹码谈生意的的比尔吉沃特,没有人做慈善。如果你请比港商行老板帮你分金块,你需要足额支付手续费。如果一个金块在切割前重量为 xxx,你需要为这次分割付出 x×px \times px×p 枚的银蛇币,之后金块可
2022-04-04 20:50:50
562
原创 算法分析与设计第三次编程作业 20042. Shortest Path 2.0
题目描述给定一个大小为nnn的有权无向图GGG,求出从SSS到TTT的最短路径长度。 第一行四个整数n,m,S,Tn,m,S,Tn,m,S,T, nnn和mmm分别表示图GGG的点数和边数, S,TS, TS,T 分别表示路径的起点和终点。(保证S,TS, TS,T联通)接下来mmm行,每行三个整数x,yx,yx,y和zzz,表示xxx和yyy之间有一条权值为zzz的边。输入格式第一行四个整数n,m,S,Tn,m,S,Tn,m,S,T, nnn和mmm分别表示图GGG的点数和边数, S,TS, TS
2022-04-02 19:37:58
135
原创 算法设计与分析第二次编程作业 14180. 【原4180】混合图定向
题目描述author: Konpaku 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4180Description有一张 nnn 个点的混合图,编号从 111 至 nnn,图中有 p1p_1p1条有向边和 p2p_2p2 条无向边。你需要为每条无向边定向,使得图中不存在环。若有多组定向方案,输出任意一组即可。Input Format第一行三个整数 nnn, p1p_1p1 , p2p_2p2 意义如上。接下来 p1p_
2022-04-02 17:50:36
129
原创 算法设计与分析第二次编程作业 20004. 0-1 Shortest Path
题目描述给一个 n(1≤n≤106)n (1\leq n \leq 10^6)n(1≤n≤106) 个点 m(1≤m≤106)m(1\leq m\leq 10^6)m(1≤m≤106) 条边的无向图,求 sss 到 ttt的最短路的长度。数据保证,sss 出发可以到达ttt。输入格式请从 stdin 读入。第一行为四个正整数 n,m,s,tn, m, s, tn,m,s,t。第二行起 mmm 行,每行三个非负整数 ui,vi,wi(0≤wi≤1)u_i, v_i, w_i (0 \leq w_i
2022-04-02 17:42:40
714
原创 算法设计与分析第二次编程作业 20001. 随机游走
题目描述我们来学习随机游走的基本知识。给定一个(可能有自环,但是没有重边的)有向图G=(V,E)G=(V,E)G=(V,E),每个节点表示一个状态,每条有向边(i,j)∈E(i,j)\in E(i,j)∈E都有一个权值pij>0p_{ij}>0pij>0,表示状态转移的概率。如果(i,j)∉E(i,j)\not\in E(i,j)∈E,我们假设pij=0p_{ij}=0pij=0。这些值满足对于任何i∈Vi\in Vi∈V, ∑j∈Vpij=1\sum_{j\in V}p_{i
2022-04-02 16:38:10
221
原创 算法设计与分析第二次编程作业 1232. 负环
题目描述给定一个大小为nnn的有向图GGG,判断其是否有负环。输入格式第一行两个整数nnn和mmm分别表示图GGG的点数和边数。接下来mmm行,每行三个整数x,yx,yx,y和zzz,表示xxx到yyy有一条权值为zzz的边。输出格式如果有负环则输出"Yes",否则输出"No"。(不包括双引号)样例输入 4 4 2 1 4 2 3 2 3 4 2 4 2 -8样例输出Yes数据范围对于100%的数据,n≤3000,m≤5000n \le 30
2022-04-02 16:23:11
141
原创 算法设计与分析第一次作业 1301. Bubbling Bubbles
题目描述给定一个长度为 nnn 的排列,元素标号为 1…n1 \dots n1…n。如果对这个排列进行冒泡排序,那么每个元素会被交换若干次。请输出每个元素在进行冒泡排序时,参与了多少次交换。我们将以以下代码为标准计算交换次数。void bubble_sort(int a[], int n) { for (int i = 1; i < n; i++) { for (int j = 0; j < n - i; j++) { if (a[j]
2022-04-02 16:03:46
467
原创 算法设计与分析第一次作业 1300. k-th Smallest Number
题目描述给定 nnn 个正整数,请找出其中的第 kkk 小的数。输入可能有重复数字,此时第kkk 小的值定义为唯一的 xxx,满足 公式(∣{y∣y<x}∣<k)∧(∣{y∣y≥x}∣≥n−k)(| \lbrace y \mid y < x \rbrace | < k) \land (|\lbrace y \mid y \geq x\rbrace | \geq n - k)(∣{y∣y<x}∣<k)∧(∣{y∣y≥x}∣≥n−k),也即将整个序列从小到大排序后的第
2022-04-02 14:56:27
304
原创 算法设计与分析第一次编程作业 1227. 快速傅里叶变换
题目描述给定一个nnn次多项式和一个mmm次多项式,请求出F(x)F(x)F(x)和G(x)G(x)G(x)的乘积。输入格式第一行两个整数分别表示F(x)F(x)F(x)和G(x)G(x)G(x)的次数。第二行n+1n+1n+1个整数,从低到高表示F(x)F(x)F(x)的系数。第三行m+1m+1m+1整数,从低到高表示G(x)G(x)G(x)的系数。输出格式一行n+m+1n+m+1n+m+1个数字,从低到高表示F(x)⋅G(x)F(x)\cdot G(x)F(x)⋅G(x)的系数。样例输入
2022-04-01 23:48:41
197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人