2021“MINIEYE”杯中国大学生算法设计超级联赛(7)

比赛记录 2021/10/6

参考鸣谢

赛场A题 

1010Smzzl with Tropical Taste 签到题

题目大意:在一个水池内有体积为V的冰红茶,商店老板会以每秒qV的速度往水池当中倒冰红茶,而另一个人以每秒pV的速度进行喝冰红茶,问是否对于任意的冰红茶G,总能有时间T使得,当t大于T的时候,喝的冰红茶的数量大于G。

解题思路:每秒喝冰红茶的速度与加冰红茶的速度与体积是成正相关的,当喝的速度大于加的速度的时候,肯定会有喝完的时候,此时,加的速度变为0所有一定无法达成条件,只有当加的速度大于等于喝的速度才能够使得冰红茶不减少甚至更多。

1007 基环树

Link with Limit
建图,点 向点 连边,那么 迭代的过程实质上是在图上行走的过程。原题实际上问的是每一个环的
点权平均值是否相同,使用任意方法找出所有环并求出平均值即可。
贴出标程里 优美的基环树找环
#include <stdio.h>
#include <queue>
#define MN 100000
typedef long long ll;

int n,a[MN+5],din[MN+5];

void solve(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		din[i] = 0;
	}
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		din[a[i]]++;
	}
	std::queue<int> Q;//queue就是队列
	for(int i=1;i<=n;i++){
		if(din[i]==0) Q.push(i);
	}
	while(!Q.empty()){
		int u = Q.front();
		Q.pop();
		din[a[u]]--;
		if(din[a[u]]==0){
			Q.push(a[u
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值