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

【交互 / 差分约束】

题目

代码

#include <bits/stdc++.h>
using namespace std;
using ll = long long;const int N = 10510;
const int M = 200 * 500 + 10;
int h[N], ne[M], e[M], w[M], idx;
ll d[N];
int n, m;
bool st[N];
int cnt[N];void add(int a, int b, int c)
{w[idx] = c, e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
ll spfa()
{memset(d, 0x3f, sizeof d);queue<int> q;for(int i = 1; i <= n+m; i++)q.push(i);while(q.size()){int u = q.front(); q.pop();st[u] = 0;for(int i = h[u]; ~i; i = ne[i]){int j = e[i];if(d[j] > d[u] + w[i]){d[j] = d[u] + w[i];cnt[j] += 1;if(cnt[j] >= m) return -1;if(!st[j]){q.push(j);st[j] = 1;}}}}ll maxx = d[1], minn = d[1];for(int i = 2; i <= m; i++)maxx = max(maxx, d[i]), minn = min(minn, d[i]);return maxx - minn;
}	
int main()
{	cin >> n >> m;memset(h, -1, sizeof h);for(int t = 1; t <= n; t++){int l, r, p, q, ans;cin >> l >> r >> p >> q >> ans;for(int i = l; i <= r; i++)add(i, m+t, 0);for(int j = p; j <= q; j++)add(m+t, j, -ans);}ll ans = spfa();if(ans == -1) puts("No Solution");else cout << ans;
}

相关文章:

  • AD 规则的使能及优先级的设置
  • 机密虚拟机的威胁模型
  • Java 与 Go 语言对比
  • 【 Java开发枚举值规范】
  • NACOS基于长链接的⼀致性模型
  • 从Transformer到多模态智能,剖析人工智能时代的核心引擎​​
  • 在Linux中如何使用Kill(),向进程发送发送信号
  • 编程题 03-树2 List Leaves【PAT】
  • 为什么要选择七彩喜数字康养平台?加盟后有何优势?
  • Oracle版本、补丁及升级(12)——补丁及补丁集
  • 2011-2020年各省粗离婚率数据
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- consistency is the key
  • AI时代的弯道超车之第十二章:英语和编程重要性?
  • 动态规划问题 -- 多状态模型(删除并获得点数)
  • MySQL之基础索引
  • 第二十九节:直方图处理-直方图均衡化
  • Made with Unity | 拓展“双点”宇宙版图
  • 【Python3教程】Python3基础篇之输入与输出
  • Redis学习打卡-Day1-SpringDataRedis、有状态无状态
  • hyper-v安装ubuntu后时磁盘空间扩容
  • 外贸网站建设视频教程/营销技巧和话术
  • 做网站的资源哪里找/南京网站推广排名
  • 织梦网站地图模板下载/在线视频观看免费视频22
  • 温州网站建设设计/东莞搜索引擎推广
  • 网站建设平台网站设计/衡阳seo优化首选
  • 小城镇建设投稿网站/东莞搜索网络优化