P4578 [FJOI2018]所罗门王的宝藏
传送门
考虑一个位置答案传递性,如果某个位置的红宝石转动确定了,那么会引起连锁反应:
如图,绿色的转动确定了,那么那两个蓝色的转动也确定了
自己手玩一下,发现如果有解那么随便找一个开始然后一路玩下去最后一定会有解,如果一旦有冲突那么之后不管怎么调整也都一定无解,(因为调整最后又会绕回自己继续冲突)
然后就直接BFS搜就好了
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<queue> 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<<1)+(x<<3)+(ch^48); ch=getchar(); }return x*f; } const int N=20007; int fir[N],from[N],to[N],val[N],cntt; inline void add(int a,int b,int c) {from[++cntt]=fir[a];fir[a]=cntt; to[cntt]=b; val[cntt]=c; } int T,n,m,K; int del[N]; bool vis[N],GG; void BFS(int st) {queue <int> q;q.push(st); vis[st]=1;while(!q.empty()){int x=q.front(); q.pop();for(int i=fir[x];i;i=from[i]){int &v=to[i],&w=val[i];if(vis[v]){if(del[v]!=w-del[x]) { GG=1; return; }continue;}del[v]=w-del[x]; vis[v]=1;q.push(v);}} } int main() {int a,b,c;T=read();while(T--){memset(vis,0,sizeof(vis)); memset(del,0,sizeof(del));memset(fir,0,sizeof(fir)); cntt=0; GG=0;n=read(); m=read(); K=read();for(int i=1;i<=K;i++){a=read(); b=read(); c=read();add(a,b+n,c); add(b+n,a,c);}for(int i=1;i<=n+m;i++){if(!vis[i]) BFS(i);if(GG) break;}if(GG) printf("No\n");else printf("Yes\n");}return 0; }
转载于:https://www.cnblogs.com/LLTYYC/p/10611281.html
P4578 [FJOI2018]所罗门王的宝藏相关推荐
- 中国石油大学 个人训练赛第五场C:所罗门王的宝藏(高斯消元)
题目描述 据古代传说记载,所罗门王既是智慧的代表,又是财富的象征.他建立了强大而富有的国家,聚集了大批的黄金象牙和钻石,并把这些价值连城的珍宝藏在一个神秘的地方,这就是世人瞩目的"所罗门王的 ...
- 【BZOJ5470】【FJOI2018】—所罗门王的宝藏(BFS)
传送门 考虑每一颗绿宝石xxx向yyy连边,把一次加看做一个点的点值加 只需要看每个环上是否恒等,bfs即可 #include<bits/stdc++.h> using namespace ...
- 其他-私人♂收藏(比赛记录 Mar, 2019)
OwO 03.03 [USACO19JAN] A. Redistricting 题意:给 \(g\) ,求 \(f(n)\) . \(f(i)=f(j)+[g(i)\ge g(j)],j \in (i ...
- yyb省选前的一些计划
突然意识到有一些题目的计划,才可以减少大量查水表或者找题目的时间. 所以我决定这样子处理. 按照这个链接慢慢做. 当然不可能只做省选题了. 需要适时候夹杂一些其他的题目. 比如\(agc/arc/cf ...
- 华为手机里的“麦田守望者”
为了一个理由, 有人英勇地死去, 为了一个理由, 有人坚韧地生存. 华为手机里的"麦田守望者" 文 | 史中 (零)秋日故事 2020年10月,秋日的深圳暖阳轻抚,一位老大爷缓缓走 ...
- 算法学习之道,应有三重境界
https://www.toutiao.com/a6712297555167805966/ 王国维先生在<人间词话>中写道:古今之成大事业.大学问者,必经过三种境界:"昨夜西风凋 ...
- 学好算法,有三重境界
王国维先生在<人间词话>中写道:古今之成大事业.大学问者,必经过三种境界:"昨夜西风凋碧树.独上高楼,望尽天涯路."此第一境也."衣带渐宽终不悔,为伊消得人憔 ...
- 旅行大数据 -- 全球24个时区国家在同一天的生活
耐心看完,可以对全球国家的分布有一个初步了解. 早上6点,东萨摩亚岛的人还在沉睡,这是位于南太平洋的隶属于美国的小岛屿,面积仅有199平方公里,人口5万多人. 这里的经济来源主要是金枪鱼罐头出口,当地 ...
- 1.4亿围观!宝藏副教授火速走红:如果不喜欢我的研究方向,我可以改!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 "叫我'小邹'就行, 如果不喜欢我的研究方向, 我可以改& ...
- 竞赛比完,代码、模型怎么处理?Kaggle 大神:别删,这都是宝藏
选自 | medium 作者 | Vladimir Iglovikov 转自 | 机器之心 那些被遗忘的竞赛项目代码.权重可能也是一笔宝藏. 很多人可能参加过许多比赛,做过许多项目,但比赛或项目结束之 ...
最新文章
- Linux下软件安装方法汇总
- mysql 多表查询or_MySQL 多表查询
- java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
- python画图颜色表示大小变化_python画图(线条颜色、大小、类型:点、虚线等)(图文详细入门教程四)...
- html不支持ie7,解决IE6/IE7/IE8不支持before,after问题
- 养成这8个好习惯 开车会很安全的
- 无法使用集合初始化_Java集合类解析之Hashtable
- (30)FPGA面试技能提升篇(基尔霍夫定律)
- 这家总资产排名第一的银行,为什么叫“小”摩?
- Linux工作笔记024---Centos7 下查看本机公网IP
- 错误代码: 1066 Not unique table/alias: #39;c#39;
- cocos2d-x瓦片地图制作详解
- 你真的了解 MySQL 数据库的运行状况吗?
- 对医疗类网站的seo优化方法细致探讨
- [Unity]Curvy插件随机生成装饰物
- 重装系统找不到固态_安装Win10系统没有固态硬盘(双硬盘找不到固态硬盘)怎么解决?...
- WordPress插件|ThnBoV1.3.0-缩略图美化插件
- 【GXOI/GZOI2019】与或和【单调栈】
- python中一个函数调用另一个函数中的变量
- 为什么加了@WebFilter注解,Spring却没有给我自动注入该过滤器?
热门文章
- pycharm 安装pip 详细步骤
- round函数几位小数c语言,Excel中利用round函数保留两位小数实例详解
- 免费且快速搭建个人www服务器的教程
- 开学季,如何申请免费学生云服务器
- 安装ansys时出现问题 MS.NET Framework would you like to retry?的解决办法:
- 自学java后都是怎么找的工作?
- 手把手教你如何自学计算机,绝对的干货满满!!!
- pytorch 安装教程
- c语言 节日,农历阳历之间转换和节气节日查询C语言编程
- vscode 程序员鼓励师_把软萌程序猿鼓励师装进VScode?最强交互彩虹屁,GitHub2.5k星标...