外出集训
文章平均质量分 50
外出集训
loi__wzhd
这个作者很懒,什么都没留下…
展开
-
Swap(匈牙利算法)
第一轮C2组C题题目:输入输出:样例:【考察内容】匈牙利算法【难度】简单【题意】有一个只有0和1的矩阵,每次你可以交换某两行或某两列,问是否能使得主对角线全为1,如果能输出一种方案,否则输出-1【思路】通过交换使得主对角线全为1,假设某一个矩阵是可以通过交换实现的,则该矩阵一定有n个1满足每个1的行与列是不同的,只有这样才能使该矩阵通过交换实现主对角线全为1,若存在这样的n个1,则必然满足行与列的最大匹配为n,若能找到这样的矩阵,通过只交换行或者只交换列即可【实现代码】#includ原创 2021-08-08 12:06:40 · 164 阅读 · 0 评论 -
免费馅饼(棋盘dp)
第一轮C2组B题题目:输入输出:样例【考查内容】棋盘dp【难度】易【题意】众所周知,天上会掉馅饼(据说还很好吃),但是掉落的位置只有0~10,你的速度为每秒1格,且你的起始位置为5,每秒钟在某个位置会落下1个或多个馅饼,问你最多能接到多少个馅饼。【思路】把时间看做是层,每个位置在某个时间掉落的馅饼数记做数字,类似于数字三角形,但是由于刚开始有些位置跑不到即有些位置的数字是无效的,我们选择倒着跑,最后输出终点为5的路径【代码实现】#include<iostream>#in原创 2021-08-08 11:37:35 · 106 阅读 · 0 评论 -
Appeal to the Audience(吸引观众+贪心)
题目:输入输出样例【考察内容】贪心【难度】中等【题意】有n个人比赛,晋级图为某任意树形(根节点为冠军),每个人在初始时在一个叶子节点,每个选手有一个能力值,比赛时的精彩程度等于本场比赛的各选手能力值之和,求最大的精彩程度。【思路】每个人最少打一场比赛,答案至少为sum(全体),去掉所有叶子节点后,产生的新的叶子节点为能够参加第二场比赛的人数,假设还剩下t人,则最大值为sum(前t大),其中前t大的数可以用前缀和去求,快速找到叶子节点可以用堆实现。【代码实现】#include<bi原创 2021-08-08 10:57:40 · 318 阅读 · 0 评论