【差分约束】SCOI2011糖果
P3275 [SCOI2011]糖果
快noip了我还在干什么啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
来我们看这道题
根据条件建图, 因为求得是最小值, 所以要跑最长路qwq(这是我记住的QAQ
不想写了让我们直接看看题解吧!
P3275 [SCOI2011]糖果(five20的题解)
有环代表条件冲突, 输出“-1”
建源点的时候反向建会快(这就很妙了
1 #include<queue> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<iostream> 5 #define ri register int 6 #define ll long long 7 using namespace std; 8 const int sz = 200010; 9 int n, k, num = 0; 10 ll ans; 11 int head[sz], dis[sz], tot[sz]; 12 bool flag; 13 bool vis[sz]; 14 struct edge { 15 int nxt, to, dis; 16 }e[sz << 1]; 17 inline int read() { 18 char ch = getchar(); int x = 0, f = 1; 19 while(ch > '9' || ch < '0') {if(ch == '-') f = -1; ch = getchar();} 20 while(ch >= '0' && ch <= '9') {x = x * 10 + ch - '0' ; ch = getchar();} 21 return x * f; 22 } 23 void add(int from, int to, int dis) { 24 e[++num].nxt = head[from]; 25 e[num].to = to; 26 e[num].dis = dis; 27 head[from] = num; 28 } 29 void spfa() { 30 queue<int>q; 31 q.push(0); 32 vis[0] = 1; 33 while(!q.empty()) { 34 int u = q.front(); 35 q.pop(); 36 if(tot[u] == n - 1) { 37 printf("-1"); 38 exit(0); 39 } 40 vis[u] = 0; 41 tot[u]++; 42 for(ri i = head[u]; i; i = e[i].nxt) { 43 int v = e[i].to; 44 if(dis[v] < dis[u] + e[i].dis) { 45 dis[v] = dis[u] + e[i].dis; 46 if(!vis[v]) { 47 vis[v] = 1; 48 q.push(v); 49 } 50 } 51 } 52 } 53 } 54 int main() { 55 scanf("%d%d", &n, &k); 56 for(ri i = 1; i <= k; i++) { 57 int opt = read(), u = read(), v = read(); 58 if(opt == 1) { 59 add(v, u, 0); 60 add(u, v, 0); 61 } 62 else if(opt == 2) { 63 if(u == v) { 64 flag = 1; 65 break; 66 } 67 else add(u, v, 1); 68 } 69 else if(opt == 3) add(v, u, 0); 70 else if(opt == 4) { 71 if(u == v) { 72 flag = 1; 73 break; 74 } 75 else add(v, u, 1); 76 } 77 else if(opt == 5) add(u, v, 0); 78 } 79 if(flag == 1) { 80 printf("-1"); 81 return 0; 82 } 83 for(ri i = n; i >= 1; i--) add(0, i, 1); 84 spfa(); 85 for(ri i = 1; i <= n; i++) 86 ans += dis[i]; 87 printf("%lld", ans); 88 return 0; 89 } 90 /* 91 4 7 92 1 3 2 93 2 2 4 94 5 1 3 95 3 4 2 96 3 2 3 97 4 3 1 98 5 1 4 99 */
转载于:https://www.cnblogs.com/Hwjia/p/9903112.html
【差分约束】SCOI2011糖果相关推荐
- 差分约束 【bzoj2330】[SCOI2011]糖果
/*[bzoj2330][SCOI2011]糖果 2014年3月5日1,2761 Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖 ...
- SPFA差分约束(bzoj 2330: [SCOI2011]糖果)
2330: [SCOI2011]糖果 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 6355 Solved: 2096 [Submit][Stat ...
- AcWing 4247. 糖果(差分约束最短路)
题目连接 https://www.acwing.com/problem/content/4250/ http://poj.org/problem?id=3159 思路 假设第i个同学得到的糖果数量为a ...
- 1169 糖果(差分约束)
1. 问题描述: 幼儿园里有 N 个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配 ...
- 算法提高课-图论-差分约束- AcWing 1169. 糖果:spfa求单源最短路、差分约束
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 差分约束系统 差分约束系统是一种特殊的N元一次不等式组.它包含N个变量X1,...,XnX_1,...,X_nX1,...,Xn ...
- P3275-[SCOI2011]糖果【差分约束,负环】
正题 题目大意:https://www.luogu.org/problemnew/show/P3275 题目大意 对于nnn个值,给出一系列不等式.求每个值的最小正整数. 解题思路 差分约束 code ...
- 【BZOJ2330】【tyvj1785】【codevs2404】糖果,第一次的差分约束
传送门1 传送门2 传送门3 写在前面:tyvj打卡的不归路and第一次写差分约束,比较生疏-- 思路: 1.看到题目给出了元素之间的大小关系,我们比较容易想到了差分约束,而且求的是最少糖果数,所以可 ...
- bzoj 2330: [SCOI2011]糖果
2330: [SCOI2011]糖果 Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要 ...
- POJ 3159[差分约束]
题目链接:[http://poj.org/problem?id=3159] 题意:有N个小朋友,编号为1-N,每个小朋友将分的一些糖果,给出一些关系A.B.C .表示B最多比A多C个,然后问你盆友1和 ...
最新文章
- 劝你别把开源的AI项目写在简历上了!!!
- Java 取整数的个、十、百位
- 计算机视觉编程——图像聚类
- 组件化实践详解(二)
- 使用Docker容器和Java EE进行持续交付
- OpenCV imread()函数
- 【今日CV 视觉论文速览】14 Nov 2018
- window服务程序编写及发布
- 记一次‘勒索病毒’经历
- 全志 Allwinner V3S 开发环境搭建 (二)安装必要工具
- python selenium无头浏览器
- 【前端框架】当前基于bootstrap框架的几种主流前端框架
- (渣男渣女必备之)层次分析法AHP-Analytic Hierarchy Process操作流程及代码实现
- 张靓颖同学2006年日程表
- Week8 CSP模拟 T2 HRZ学英语
- 杂谈|程序员还是工程师
- 软件测试面试题之非技术面试(GZH:软件测试大本营)
- java抖音字符视频_抖音上很火的字符画 Android 实现 | 视频转换实现
- 5种阿里常用代码检测推荐 | 阿里巴巴DevOps实践指南
- Ehcache基本使用
热门文章
- GNS3导入c7200路由器
- Roson的Qt之旅#97 Qt编译报错-Could not determine which “make“ command to run
- 网站备案后 换服务器,网站备案后更换服务器
- Python调用百度AI识别身份证
- 学渣的刷题之旅 leetcode刷题 88. 合并两个有序数组
- mysql创建单表只读访问用户及过程问题处理:如mysql: command not found ///GRANT command denied to user
- 比较 SVFI-RIFE 和 DAIN-APP 补针效果 施工中 ~
- 金大侠的亲属与剑桥大学最厉害的三个学院
- EduSoho网校系统产品更新:PPT动画转码
- [美文]-- 为何毕业三年后的差距这么大?