Day6-T4
Describe:差分约束模板题吧。。。LG上竟然是省选+
code:
- #include<bits/stdc++.h>
- #define INF 214748364
- using namespace std;
- int n,ml,md,flg,tot,x,y,z;
- int son[10010],nxt[10010],w[10010],fir[1010];
- queue<int>q;
- inline int read(){
- int ret=0,f=1;char ch=getchar();
- while (ch<'0'||ch>'9') {if (ch=='-') f=-f;ch=getchar();}
- while (ch>='0'&&ch<='9') ret=ret*10+ch-'0',ch=getchar();
- return ret*f;
- }
- inline double read2(){
- double X=0,Y=1.0;int w=0;char ch=0;
- while(!isdigit(ch)){w|=ch=='-';ch=getchar();}
- while(isdigit(ch))X=X*10+(ch^48),ch=getchar();
- ch=getchar();
- while(isdigit(ch)) X+=(Y/=10)*(ch^48),ch=getchar();
- return w?-X:X;
- }
- inline void write(int x){
- if(x<0){putchar('-');write(-x);return;}
- if(x/10) write(x/10);
- putchar(x%10+'0');
- }
- void add(int x,int y,int z)
- {
- w[++tot]=z;
- son[tot]=y;
- nxt[tot]=fir[x];
- fir[x]=tot;
- }
- int d[1010],cir[1010];
- bool vis[1010];
- inline void spfa(int k) //SprprFA
- {
- memset(vis,0,sizeof(vis));
- memset(cir,0,sizeof(cir));
- for(int i=1;i<=n;i++)d[i]=INF;
- d[1]=0,cir[1]=1;q.push(k);
- while(!q.empty())
- {
- int x=q.front();
- vis[x]=0;
- for(int i=fir[x];i;i=nxt[i])
- if(d[son[i]]>d[x]+w[i])
- {
- d[son[i]]=d[x]+w[i];
- if(++cir[son[i]]>=n){write(-1),exit(0);}
- if(!vis[son[i]])
- {
- q.push(son[i]);
- vis[son[i]]=1;
- }
- }
- q.pop();
- }
- }
- int main()
- {
- n=read(),ml=read(),md=read();
- for(int i=1;i<=ml;i++)x=read(),y=read(),z=read(),add(x,y,z); //差分:转换成a+b>=C 其中C为常数
- for(int i=1;i<=md;i++)x=read(),y=read(),z=-read(),add(y,x,z); //连负权
- for(int i=1;i<=n;i++)spfa(i);spfa(1); //判图连通性
- if(d[n]==INF)write(-2);
- else write(d[n]);
- }
Day6-T4的更多相关文章
- 考前停课集训 Day6 垒
Day 6 今天在家里的 家里蹲 其实是day7的时候想到要写day6了 草率补充一下 NOIP考前棕名退不掉咯 你觉得我还会打洛谷的题目吗? 依然退步 没用心 T1 分火腿 数论题 我感觉挺难的 T ...
- 2022寒假集训day6
day6上午还是做四道题T1区域[上机练习]1.编程计算由"*"号围成的下列图形的面积.面积计算方法是统计*号所围成的闭合曲线中水平线和垂直线交点的数目.如下图所示,在 10*10 ...
- 使用T4模板生成不同部署环境下的配置文件
在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据目标环境不同而不同.比如在开发环境中,数据 ...
- CSharpGL(12)用T4模板生成CSSL及其renderer代码
CSharpGL(12)用T4模板生成CSSL及其renderer代码 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(29)-T4模版
系列目录 本节不再适合本系统,在58,59节已经重构.请超过本节 这讲适合所有的MVC程序 很荣幸,我们的系统有了体验的地址了.演示地址 之前我们发布了一个简单的代码生成器,其原理就是读取数据库的表结 ...
- 从零开始编写自己的C#框架(14)——T4模板在逻辑层中的应用(三)
原本关于T4模板原想分5个章节详细解说的,不过因为最近比较忙,也不想将整个系列时间拉得太长,所以就将它们整合在一块了,可能会有很多细节没有讲到,希望大家自己对着代码与模板去研究. 本章代码量会比较大, ...
- 从零开始编写自己的C#框架(13)——T4模板在逻辑层中的应用(二)
最近这段时间特忙,公事私事,忙得有时都没时间打开电脑了,这两周只能尽量更新,以后再将章节补回来. 直接进入主题,通过上一章节,大家明白了怎么使用模板类编写T4模板,本章进的是一些简单技巧的应用 1.首 ...
- 从零开始编写自己的C#框架(12)——T4模板在逻辑层中的应用(一)(附源码)
对于T4模板很多朋友都不太熟悉,它在项目开发中,会帮我们减轻很大的工作量,提升我们的开发效率,减少出错概率.所以学好T4模板的应用,对于开发人员来说是非常重要的. 园子里对于T4模板的介绍与资料已经太 ...
- JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(四):自定义T4模板快速生成页面
前言:上篇介绍了下ko增删改查的封装,确实节省了大量的js代码.博主是一个喜欢偷懒的人,总觉得这些基础的增删改查效果能不能通过一个什么工具直接生成页面效果,啥代码都不用写了,那该多爽.于是研究了下T4 ...
- Python之路,Day6 - Python基础6
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
随机推荐
- Linux搭建maven私服
1.把压缩包上传到服务器/usr/local/tmp 2.在/usr/local下创建nexus文件夹(mkdir nexus) 3.解压压缩包nexus-3.13.0-01-unix.tar.gz到 ...
- 《JavaScript高级程序设计》读书笔记(三)基本概念第一小节
内容---语法 本小节---数据类型 本小节 undefined,null,Boolean---流程控制语句---理解函数 任何语言的核心都必然会描述这门语言最基本的工作原理.而描述的内容通常都要涉及 ...
- 一个不会coding的girl Linux日常之命令awk
Linux日常之命令awk 参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. ...
- 【协作式原创】查漏补缺之Go的slice基础和几个难点
[转载]队友博客 Q: 为啥要字节对齐的 https://www.nowcoder.com/discuss/57978 TODO: Q: go反汇编指令 go tool compile -S plan ...
- 时间选择器UIDatePicker的使用
UIDatePicker的介绍 UIDatePicker这个类的对象让用户可以在多个车轮上选择日期和时间.iPhone手机上的‘时钟’应用程序中的时间与闹铃中便使用了该控件.使用这个控件时,如果你能配 ...
- 怎么修改Anaconda 中 jupyter notebook 文件的保存位置
安装完 anaconda ,在jupyter notebook 中创建的文件的默认保存位置为C:\User\电脑名 修改保存位置 1.打开 anaconda prompt 2.输入 jupyter n ...
- 简单优化MySQL(后续在补充)
如何优化: ---从设计表结构的角度出发: 用多个小表代替一个大表,注意不要过度设计 批量插入代替循环插入 合理控制缓存空间大小,一般来说其大小设置为几十兆比较合适 可以通过 SQL_CACHE 和 ...
- SZWI3800
xml <mapper namespace="jp.co.alsok.g6.zwi.dao.mapper.g6.custom.SZWI3800Mapper"> < ...
- F: Horse Pro 马走棋盘 BFS
F: Horse Pro 豆豆也已经开始学着玩象棋了,现在豆豆已经搞清楚马的走法了,但是豆豆不能确定能否在 100 步以内从一个点到达另一个点(假设棋盘无限大). Input 第一行输入两个整数 x1 ...
- 夯实Java基础(二十一)——Java反射机制
1.反射机制概述 Java反射机制是指程序在运行状态中,对于任何一个类,我们都能够知道这个类的所有属性和方法(包括private.protected等).对于任何一个对象,我们都能够对它的属性和方法进 ...