当前位置: 首页 > news >正文

房产手机网站模板/电商软文范例

房产手机网站模板,电商软文范例,免费网站建设排名,做网站模板的网页名称是m开头差点就忘了还有差分约束这个东西……看见了就要学习一个 原题: 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希…

差点就忘了还有差分约束这个东西……看见了就要学习一个

原题:

幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,lxhgww需要满足小朋友们的K个要求。幼儿园的糖果总是有限的,lxhgww想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。

N<=100000,K<=100000,1<=A, B<=N

 

差分约束模板题,学习一个!

以操作3为例,如果a不少于b,那么a-b>=0,a>=b+0

所以连b到a权值为0的边,根据三角形不等式,要跑最长路来使条件满足

具体原理我也想不太清楚,反正记住搞出三角形不等式后跑符号相反的spfa就对了 _(:3 」∠)_

因为写出了像"q[tl]=false"酱sb的东西+没对拍所以没1A……

注意longlong

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<cmath>
 6 using namespace std;
 7 int rd(){int z=0,mk=1;  char ch=getchar();
 8     while(ch<'0'||ch>'9'){if(ch=='-')mk=-1;  ch=getchar();}
 9     while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0';  ch=getchar();}
10     return z*mk;
11 }
12 struct ddd{int nxt,y,v;}e[210000];  int lk[110000],ltp=0;
13 inline void ist(int x,int y,int z){  e[++ltp].nxt=lk[x],lk[x]=ltp,e[ltp].y=y,e[ltp].v=z;}
14 int n,m;
15 int dstc[110000],cnt[110000];
16 int q[110000],hd=0,tl=0,tp=100001;  bool vstd[110000];
17 bool spfa(){
18     memset(vstd,0,sizeof(vstd));
19     //memset(dstc,0,sizeof(dstc));
20     for(int i=1;i<=n;++i)  q[++hd]=i,dstc[i]=1;
21     while(tl!=hd){
22         tl=(tl==tp ? 0 : tl+1);
23         for(int i=lk[q[tl]];i;i=e[i].nxt)if(dstc[q[tl]]+e[i].v>dstc[e[i].y]){
24             dstc[e[i].y]=dstc[q[tl]]+e[i].v;
25             if(++cnt[e[i].y]==n)  return false;
26             if(!vstd[e[i].y])  q[hd=(hd==tp ? 0 : hd+1)]=e[i].y,vstd[e[i].y]=true;
27         }
28         vstd[q[tl]]=false;
29     }
30     return true;
31 }
32 int main(){//freopen("ddd.in","r",stdin);
33     cin>>n>>m;
34     int mk,l,r;
35     while(m--){
36         mk=rd(),l=rd(),r=rd();
37         if(mk==1)  ist(l,r,0),ist(r,l,0);
38         else if(mk==2){
39             if(l==r){  cout<<-1<<endl;  return 0;}
40             ist(l,r,1);
41         }
42         else if(mk==3)  ist(r,l,0);
43         else if(mk==4){
44             if(l==r){  cout<<-1<<endl;  return 0;}
45             ist(r,l,1);
46         }
47         else if(mk==5)  ist(l,r,0);
48     }
49     if(!spfa()){  cout<<-1<<endl;  return 0;}
50     long long ans=0;
51     for(int i=1;i<=n;++i)  ans+=dstc[i];
52     cout<<ans<<endl;
53     return 0;
54 }
View Code

 

转载于:https://www.cnblogs.com/JSL2018/p/6539363.html

http://www.lbrq.cn/news/1250929.html

相关文章:

  • 网站套餐报价/推广产品的文案
  • 网站360全景图怎么做/怎么做电商生意
  • 泉州微信网站建设/怎么制作网站平台
  • 设计比例网站/免费的html网站
  • 深圳求职招聘网站/推广员网站
  • 建设银行吴中支行网站/山东seo多少钱
  • 北京网站优化提供商/搜索引擎优化结果
  • 找网站开发公司需要注意那几点/搜索引擎外部链接优化
  • 专业制作证件网站/google seo
  • 人防工程建设网站/google play下载
  • 跟犀牛云一样做网站的/站长之家点击进入
  • 比价 wordpress 插件下载/搜索引擎营销优化的方法
  • 如何针对你的网站做搜索优化/软文范例800字
  • 微信推广网站建设/网络广告营销经典案例
  • 本网站建设在美国/产品推广计划书怎么写
  • 海口建设/郑州seo顾问培训
  • 建设一下网站要求提供源码/国家免费培训机构
  • 建设公司宣传网站/企业qq下载
  • 闵行营销型网站制作/国色天香站长工具
  • 广州祥云平台网站建设/网络优化
  • 东阳做网站公司/seo图片优化
  • 活动设计方案模板/营销型网站优化
  • 做网站需要什么文件/深圳网站建设维护
  • 做犯法任务的网站/昆明seo建站
  • 建设产品网站课程/如何推广小程序
  • 沈阳网站建设哪家做得好/seo建站公司推荐
  • 邢台市网站制作/十大引擎网址
  • 福州做网站优化/抖音seo优化系统招商
  • 国外服务器做网站不能访问/市场调研问卷调查怎么做
  • 怎么创建网站挣钱/网络营销可以做什么工作
  • Mongodb常用命令简介
  • 将Excel数据导入SQL Server数据库,并更新源表数据
  • 链式数据结构
  • [linux] Linux系统中断机制详解及用户空间中断使用方法
  • 【图像算法 - 09】基于深度学习的烟雾检测:从算法原理到工程实现,完整实战指南
  • 编码器模型和解码器模型解析