《如 何 速 通 一 套 题》5.1bug fixed
1.《如 何 速 通 一 套 题》12.《如 何 速 通 一 套 题》23.《如 何 速 通 一 套 题》34.《如 何 速 通 一 套 题》 4.15.《如 何 速 通 一 套 题》5.0
6.《如 何 速 通 一 套 题》5.1bug fixed
7.《如 何 速 通 一 套 题》6.08.《如 何 速 通 一 套 题》7.09.《如 何 速 通 一 套 题》8.010.《如 何 速 通 一 套 题》9.011.《如 何 速 通 一 套 题》 10.012.《如 何 速 通 一 套 题》12.013.《如 何 速 通 一 套 题》13.014.《如 何 速 通 一 套 题》14.015.标题,你懂的(15.0)...16.16.0好吧,那天晚上才发现数据错了,只能咕一下了,现在咕完了
前情提要:5.0
D 补幺梨
那么,以背包的形式出现,但是不是背包,还能是什么呢?
同余最短路。只能是同余最短路。
然后由于
然后数据出锅了。
#include <bits/stdc++.h> #define int ll using namespace std; using ll = long long; const int kInf = 0x3f3f3f3f3f3f3f3f; struct node { int x, v; bool operator <(const node &b) const { return (v == b.v? x < b.x : v < b.v); } }; int n, m, seed, a[10000010], ans; vector<int> dis, vis; set<node> st; void dijkstra() { st.insert({0, 0}); for(; st.size(); ) { node tmp = *st.begin(); st.erase(st.begin()); vis[tmp.x] = 1; for(int i = 2; i <= n; i++) { int nv = (tmp.x + a[i]) % a[1], nw = tmp.v + a[i]; if(nw < dis[nv] && !vis[nv]) { if(st.find({nv, dis[nv]}) != st.end()) { st.erase(st.find({nv, dis[nv]})); } dis[nv] = nw; st.insert({nv, dis[nv]}); } } } } signed main() { freopen("pear.in", "r", stdin); freopen("pear.out", "w", stdout); cin >> n >> m >> seed; mt19937 rng(seed); auto get = [&]() { uniform_int_distribution<int> qwq(2, m); return qwq(rng); }; for (int i = 1; i <= n; i++) { a[i] = get(); } sort(a + 1, a + n + 1); n = unique(a + 1, a + n + 1) - a - 1; dis.resize(a[1]), vis.resize(a[1]); fill(dis.begin() + 1, dis.end(), 0x3f3f3f3f3f3f3f3f); dijkstra(); for(auto i : dis) { ans = max(ans, i - a[1]); } cout << ans << '\n'; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具