首页 > 其他分享 >8.19总结

8.19总结

时间:2022-08-19 20:00:05浏览次数:80  
标签:总结 ch vis int memset read while 8.19

啊~,本周的第一个暴零

所罗门王的宝藏

\(solution\)
第一眼的时候完全没有想到是图论,当然暴零不是这个原因

把行和列进行连边,因为行i的旋转次数+列j的旋转次数一定等于\(c_{i,j}\),所以bfs一遍,如果无法同时满足\(a_i+b_j=w_{i,j}\),\(a_{i1}+b_{j1}=w_{i1,j1}\),则不行,否则可以

AC Code
#include<bits/stdc++.h>
using namespace std;

inline int read()
{
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9')
	{
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
	{
		x=x*10+ch-'0';
		ch=getchar();
	}
	return x*f;
}

const int N=1e4+5;
int t;
int n,m,k;
int h[N*2],ver[N*2],nex[N*2],val[N*2],tot;
int vis[N*2],d[N*2];

void add(int x,int y,int w)
{
	ver[++tot]=y,val[tot]=w,nex[tot]=h[x],h[x]=tot;
}

bool bfs(int x)
{
	queue<int>q;
	q.push(x);vis[x]=1;
	while(q.size())
	{
		int u=q.front();q.pop();
		for(int i=h[u];i;i=nex[i])
		{
			int v=ver[i],w=val[i];
			if(vis[v])
			{
				if(d[u]+d[v]!=w)return false;
				continue;
			}
			d[v]=w-d[u];
			vis[v]=1;
			q.push(v);
		}
	}
	return true;
}

int main()
{
	t=read();
	while(t--)
	{
		n=read(),m=read(),k=read();
		int x,y,w;
		tot=0;
		memset(h,0,sizeof h);
		memset(vis,0,sizeof vis);
		for(int i=1;i<=k;i++)
		{
			x=read(),y=read(),w=read();
			add(x,y+n,w);add(y+n,x,w);
		}
		bool ans=1;
		for(int i=1;i<=n+m;i++)
		{
			if(!vis[i])
			{
				if(!bfs(i))ans=0;
			}
		}
		if(ans)printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}

标签:总结,ch,vis,int,memset,read,while,8.19
From: https://www.cnblogs.com/mkik/p/16603188.html

相关文章

  • 2022暑假集训总结
    2022暑假集训总结收获做了██道题跟着多校联训学的时候,主要收获是学会了一些基本的暴力算法和一些以前不知道的算法概念后来高烧休息了几天回来以后主要的收获是考试......
  • 浙里办微信小程序总结
    浙里办微信小程序单点登录流程1.获取浙里办跳转地址中ticket或者微信小程序中的ticketIdletticket=getQueryString("ticket",window.location.href);letsp......
  • 访问端口总结
    启动方式访问端口HDFSstart-dfs.shNameNode(9000API操作;50070web访问端口)DataNode(50010dn和nn通信的端口;50075(datanode的web访问端口)snn(500......
  • 操作系统面试总结(持续更新ing)
    操作系统面试总结目录操作系统面试总结1.操作系统引论1.1操作系统的特点1.2操作系统的主要功能1.3各种操作系统的区别1.4操作系统的主要组成部分1.5动态链接库和静态......
  • 【考后总结】8.18 暑假模拟27
    概述又名:暑假集训6得分:\(40+20+20+10=90\)rk11赛时打得比较懵,很多部分分想了很久才打出来。题解T1接力游戏题意给序列\(a,b\),每个序列包含两个属性\(w,v\),从......
  • 2022/8/18 总结
    A.P2587[ZJOI2008]泡泡堂好家伙,久违的贪心所以说挂了;Solution古人的智慧;但实际上这道题和田忌赛马有所区别,已知有一种比较优的方法是用己方最鶸的换掉敌方最强......
  • 8.18总结
    泡泡堂\(solution\)苹果树\(solution\)字符合并\(solution\)脑洞治疗仪\(solution\)万万没想到,我50pts的原因是数组没开够线段树维护修改操作,注意先挖后补ACCo......
  • 字符串类模板及总结(随缘更新)
    昨晚与集训队的诸位聚餐,得悉弘毅的选拔比预想中要近,而且英语入学考也会与是否大一能参加四级考有关。结束后,第一次来到武大ACM训练室,被一桌论文、草稿、书籍、KFC、外卖袋......
  • 前端下载的方式总结(url,文件流,压缩包)
    1.比较常见的是通过a标签的href属性直接访问文件url地址。(1)constdownloadUrl=(url:string,file_name?:string)=>{if(url){url=url.replace(/^http/......
  • Java面试知识点总结(三)
    Java并发编程一、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"......