【处理元组有关的题型的技巧】codeforces 1677 A. Tokitsukaze and Strange Inequality
1.【处理元组有关的题型的技巧】codeforces 1677 A. Tokitsukaze and Strange Inequality
2.【巧用set实现对有序数组O(logn)时间复杂度增、删、查、改、二分操作】codeforces 1041 C. Coffee Break3.【枚举右,维护左】LeetCode 3404. 统计特殊子序列的数目4.【离线+单调栈】AtCoder ABC379 F. Buildings 25.【离线+LogTrick】codeforces 1878 E. Iva & Pav题意
第一行输入一个正整数
第一行输入一个正整数
对于
你需要统计出合法四元组的数目。
题解
有关三元组、四元组之类的题型,通常先思考中间的数,再思考两端的数,是比较容易的思考方式。
观察数据范围,
那不妨枚举
参考代码
void solve() { ans = 0LL; cin >> n; for (int i = 0; i < n; ++ i) cin >> a[i]; for (int i = 1, j; i < n - 2; ++ i) { int cnt = 0; int itemp = a[i - 1]; for (j = i - 2; j >= 0; -- j) { if (itemp < a[j]) a[j + 1] = a[j]; else break; } a[j + 1] = itemp; for (j = i + 1; j < n; ++ j) cnt += a[i] > a[j]; for (j = i + 1; j < n; ++ j) { cnt -= a[i] > a[j]; if (!cnt) break; ans += (lower_bound(a, a + i, a[j]) - a) * cnt; } } cout << ans << '\n'; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 【.NET】调用本地 Deepseek 模型