poj1975 Median Weight Bead(floyd || 暴搜)

Midscene.js(3):手把手教你用 YAML 脚本实现 AI 驱动的 Web UI 自动化「喂饭教程」 Midscene.js是一款开源的AI驱动UI自动化工具,通过自然语言描述即可控制浏览器或Android设备执行操作。它支持YAML脚本编写测试用例,降低了自动化测试门槛。 阅读详情

原题: http://poj.org/problem?id=1975

这题一开始没有想到floyd,就去搜索,结果还过了,虽然时间很长用了200+ms,但也是挺爽,后来去查才知道floyd才是解题方案,下面是两种方法

其实佛洛依德很好用,可以存负权值边而且代码很容易记住,就是复杂度有点高,要记住....求任意两点的最短路,或者关系,首选floyd

floyd 16ms

#include<cstdio>
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int dp[100][100]={0};
		int n,m;
		scanf("%d %d",&n,&m);
		for(int i=1;i<=m;i++)
		{
			int a,b;
			scanf("%d %d",&a,&b);
			dp[a][b]=1;//a比b重 
			dp[b][a]=-1;	//a比b轻 
		}	
		//floyd 
		for(int k=1;k<=n;k++)
		{
			for(int i=1;i<=n;i++)
			{
				for(int j=1;j<=n;j++)
				{
					if(dp[i][k]==1 && dp[k][j]==1)
					{
						dp[i][j]=1;
					}
					if(dp[i][k]==-1 && dp[k][j]==-1)
					{
						dp[i][j]=-1;
					}
				}
			}
		}
		int ans=0;
		for(int i=1;i<=n;i++)
		{
			int da=0;
			int xiao=0;
			for(int j=1;j<=n;j++)
			{
				if(dp[i][j]==1)
				{
					xiao++;	
				}	
				if(dp[i][j]==-1)
				{
					da++;					
				}
			}
			if(xiao>n/2 ||  da>n/2)//判断是否满足 
			{
				ans++;
			}		
		} 
		printf("%d\n",ans);
	}
	return 0;
} 
暴搜 204ms
#include<cstdio>
#include<set>
#include<memory.h> 
using namespace std;
struct Node
{
	set<int>max;
	set<int>min;
}node[100];
int visit[100];
void find(int id)//找比编号id大的元素 
{
	if(visit[id]==1)
	{
		return ;
	}
	if(node[id].max.size()==0)
	{
		return ;
	}
	set<int>::iterator it=node[id].max.begin();
	while(it!=node[id].max.end())
	{
		find(*it);//前一个的max先求好了. 
		node[id].max.insert(node[*it].max.begin(),node[*it].max.end());		
		it++;
	}
	visit[id]=1;
}
void find2(int id)//找比编号id小的元素 
{
	if(visit[id]==1)
	{
		return ;
	}
	if(node[id].min.size()==0)
	{
		return ;
	}
	set<int>::iterator it=node[id].min.begin();
	while(it!=node[id].min.end())
	{
		find2(*it);//前一个的min先求好了. 
		node[id].min.insert(node[*it].min.begin(),node[*it].min.end());		
		it++;
	}
	visit[id]=1;
}
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int n,m;
		scanf("%d %d",&n,&m);
		memset(visit,0,sizeof(visit));
		for(int i=1;i<=m;i++)
		{
			int a,b;
			scanf("%d %d",&a,&b);
			node[a].min.insert(b);
			node[b].max.insert(a);
		}
//		if(m<)
//		{
//			printf("0\n");
//			continue;
//		}
		int ans=0;
		//遍历寻找
		memset(visit,0,sizeof(visit));
		for(int i=1;i<=n;i++)
		{
			find(i);
		}
		memset(visit,0,sizeof(visit)); 
		for(int i=1;i<=n;i++)
		{
			find2(i);
			int c1=node[i].max.size();
			int c2=node[i].min.size();
//			if(c2>r||  c1>n-(r+1))//判断是否满足 
//			{
//				ans++;
//			}	
			if(c2>n/2 || c1>n/2)
			{
				ans++;
			}
		} 
		for(int i=1;i<=n;i++)//清空 
		{
			node[i].max.clear();
			node[i].min.clear();
		}
		printf("%d\n",ans);
	}
	return 0; 
}   



RK3568平台开发系列讲解:Linux wifi的调试 查询结果中state为ENABLE,表示hostapd程序启用成功。首先查看设备是否存在。 阅读详情

相关推荐

rv1126平台spi屏调试

st7789v2 i2c调试

zuoanyouzhuan_的博客 2038

floyed 例题

A -Cow Contest Description N(1 ≤N≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain co...

ZCY的博客 364

从零开始:手把手教你规划与部署华为FusionCompute虚拟化平台(含网络规划避坑指南)

本文详细介绍了华为FusionCompute虚拟化平台的规划与部署流程,特别针对网络规划中的常见问题提供了避坑指南。从硬件软件清单检查、网络平面配置到VRM部署方案选择,帮助用户高效完成部署并优化性能,适用于云计算环境中的虚拟化平台搭建。

weixin_28693447的博客 243

传递闭包问题

Median Weight Bead Time Limit:1000MS Memory Limit:65536K Total Submit:24 Accepted:17 Description There are N beads which of the same shape and size, but with different weights. N is an odd number

ACM 816

人工智能面试总结-Python

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录说说Python程序运行过程?说说Python的作用域?说说Python的数据结构?说说Python中可变与不可变类型?说说进程与线程?说说Python中的多线程?说说Python中的多进程?说说Python互斥锁与死锁?说说Lambda?说说Python的深拷贝与浅拷贝?说说Python多线程是否能用多个CPU,为什么?说说Python垃圾回收机制?说说Python里的生成器?说说迭代器与生成器的区别?说说Python 列表的 del,rem.

啥都生的博客 1万+

[deprecated]第九章:SVM机制: 9-2 Linux HMM原理与实现详解

Linux内核HMM(异构内存管理)子系统为异构计算平台提供统一内存管理机制,支持CPU与GPU等设备共享虚拟地址空间,实现零拷贝数据访问。其核心功能包括:1)统一虚拟地址空间,设备可直接访问CPU进程内存;2)实时页表同步与失效通知,确保地址空间一致性;3)支持设备端page fault处理;4)管理多种内存类型(系统内存、设备私有内存等)。HMM通过mmu_interval_notifier机制感知地址空间变化,提供标准API简化驱动开发,显著提升异构计算性能和数据传输效率。

图形/计算GPU的驱动与虚拟化技术分享园地 2546

Charles Dickens

IDickens is one of those writers who are well worth stealing. Even the burial of his body in Westminster Abbey was a species of theft, if you come to think of it.When Chesterton wrote his

lililingling1985的专栏 10万+

PCB板设置20H 原则理解

20H原则是PCB设计中抑制EMI辐射的关键方法,要求电源层比相邻地层内缩20倍介质厚度(20H)。在四层板中实现20H原则需采用S-G-P-S层叠结构,确保GND与PWR紧邻。具体步骤包括:确定GND-PWR间介质厚度H,计算20H值(通常80-120mil),并在设计软件中将电源层四周内缩20H,同时保持地层完整不内缩。注意避免常见误区,如混淆介质厚度、地层内缩等。该原则能有效限制边缘场辐射,降低EMI干扰,是四层板EMC设计的重要规范。

qq_37999850的博客 693

ZZULI 1599(POJ 1975)Median Wei…

Median Weight Bead Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 2182 Accepted: 1076 Description There are N beads which of the same shape and size, but with different weights

算法之道 609

Python爬虫实战:京东/淘宝商品价格与评论监控系统——从User-Agent伪装到编码陷阱的全面攻克

在电商数据驱动决策的今天,无论是个人消费者想抓住历史低价,还是市场分析师需要追踪竞品动态,抑或是算法交易员依赖实时价格信号,自动化的商品价格与评论监控系统都已成为不可或缺的工具。然而,电商平台的反爬虫策略日益严苛,字符编码的“暗坑”更是让初学者屡屡碰壁。本文将以京东(JD.com和淘宝(Taobao.com两大主流平台为目标,手把手带你构建一个稳定、高效的商品监控爬虫。User-Agent伪装——如何模拟真实浏览器行为,突破初级反爬。GBK/UTF-8编码混战。

2201_76125261的博客 75

华为OD机考双机位C卷 - 风险投资计划(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 风险投资计划(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 547

zoj 2500 || poj 1975 Median Weight Bead

<br />之所以划到最短路这里面。。。是因为用到floyd了。。<br /> <br />给你一些数的关系,输出不能成为中间数的数的个数。<br /> <br />我的做法是,对正图,转置图进行两次floyd即可(其实一次也可以,不过反正数据不大。。)。然后算每个点那行1的个数,大于等于(n+1)/2即不可能成为中间数。<br /> <br />如果是中间数,那么比它大的不能超过 n/2 ,比它小的也不能超过n/2。<br /> <br />其实转置图可以用先遍历列再遍历行得到。。我感觉用转置图更直观哈~

小媛在努力~ 1249

反激电源及其变压器计算与绕制

本内容以一个宽电压输入 24V3A 输出的 72W 反激电源为例来计算电路的各个参数和器件选型,包含反激变压器的计算与绕制方法。

让你爱上电路设计 1935

POJ1975 Median Weight Bead【关系闭包】

Median Weight Bead Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4191 Accepted: 2167 Description There are N beads which of the same shape and size, but with different weights. N is an ...

海岛Blog 508

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

POJ 1975 Median Weight Bead (Floyd)

Median Weight Bead Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 2494   Accepted: 1249 Description There are N beads which of the same shape and size, but wi...

weixin_33850015的博客 95

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

POJ1975 Median Weight Bead floyd传递闭包

Description There are N beads which of the same shape and size, but with different weights. N is an odd number and the beads are labeled as 1, 2, ..., N. Your task is to find the bead whose weig...

dengguan2720的博客 131

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

poj 1975 Median Weight Bead(传递闭包 Floyd)

题意:n个珠子,给定它们之间的重量关系,按重量排序,求确定肯定不排在中间的珠子的个数 分析:因为n为奇数,中间为(n+1)/2,对于某个珠子,若有至少有(n+1)/2个珠子比它重或轻,则它肯定不排在中间 可以将能不能确定的权值初始化为0,能确定重量关系的权值设为1

happy_lcj 1578

POJ 1975 Median Weight Bead(Floyd传递闭包)

POJ 1975 Median Weight Bead(Floyd传递闭包) http://poj.org/problem?id=1975 题意:有N(N为奇数)个珠子,我们进行了M次重量的比较且给出了结果.我们想找出这N个珠子中重量居中的那个珠子(中位数),即有(N+1)/2个珠子比它重,有(N+1)/2个珠子比它轻的那个珠子.但是我们得先排除那些已经能确定不是中位数的珠子. 分析:

code 1179

poj1975 Median Weight Bead ----floyd 传递闭包

/* poj1975 Median Weight Bead 题意:有N个珠子,N为奇数(an odd number),给出一些信息如a b表示a比b重, 通过这些信息可以分析出那些珠子按重量排序后,哪个不可能是中间那个,求可以分析出几个。 用到的是floyd求传递闭包,然后找到那些入度或出度大于n/2的珠子即可 */ #include #include int g[100][100];//g[i

733

POJ1975 Median Weight Bead [Floyd]

题意: 给定一个奇数n,和m组两数之间的关系。问可以排除多少个可以确定非中位数的数。 思路: floyd传递闭包。一次AC。有点太水了这题。 #include #include #define max(a,b) (a>b?a:b) #define abs(a) ((a)>0?(a):-(a)) #define min(a,b) (a<b?a:b) using namespace std;

Aszxqw 891

poj 1975 Median Weight Bead floyd算法

题意: 给n颗豆和m个重量关系,要求有几个豆不可能是重量排在第n/2个的。 分析: 在原图和他的逆图上两次floyd算出对每颗豆有多少豆比它重和比它轻。 代码: //poj 1975 //sep9 #include #include using namespace std; const int maxN=1024; int vis[maxN]; int heavier[maxN],

sepNINE的专栏 614

poj 1975 Median Weight Bead

传递闭包的题目; 题意:有N个珠子,N为奇数(an odd number),给出一些信息如a b表示a比b重             用到的是floyd求传递闭包,找出不可能是中间值(按重量从大到小排列)             的个数,可通过计算他的入度或出度大于n/2即可;   #include"stdio.h" #include"string.h" int dp[100][10

飞雪---晨 809

POJ1975 Median Weight Bead

<br />和POJ3660主要思想是一样的<br /><br />用1表示a>b,用2表示a<b,用0表示关系无法确定,然后,把FLoyd的缩边改成:if(g[j][i]==g[i][k] && g[j][i]) g[j][k]=g[j][i];<br />最后的g数组就表示了任意两个点之间的关系。<br />最后如果哪一个点有(n+1)/2个以上的点比该点大或者比有(n+1)/2个以上的点比该点小,则说明该点不可能为中间重量的点。<br />#include<stdio.h> #include<str

palqing的专栏 753

POJ1975:Median Weight Bead(FLOYD)

Description There are N beads which of the same shape and size, but with different weights. N is an odd number and the beads are labeled as 1, 2, ..., N. Your task is to find the bead whose weight

ACM!荣耀之路! 1423
上一篇: poj1959 Darts
下一篇: mysql的下载与安装
勤勤勤能补拙
博客等级 码龄10年 60粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值