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

CSP-S36

10.21

t1

code

嘻嘻
#include <bits/stdc++.h>
#define ldb long double
using namespace std;
int x, y;signed main()
{freopen("island.in", "r", stdin);freopen("island.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> x >> y;ldb ans = 0;for (int i = 1; i <= y; ++i)ans += 1.0 / (2 * x + i);for (int i = 1; i <= x; ++i)ans += 1.0 / (2 * i - 1);printf("%.16Lf\n", ans);return 0;
}

t2

code

哈哈
#include <bits/stdc++.h>
using namespace std;
struct str
{string s, t;
} f[100][100], g[100], ans;string s, t;inline str max(str S, str T)
{string s = S.s + S.t, t = T.s + T.t;// cerr << "S=" << s << " T=" << t << "\n";return s > t ? S : T;
}signed main()
{freopen("xiao.in", "r", stdin);freopen("xiao.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> s;cin >> t;int n = s.size();s = " " + s, t = " " + t;for (int i = 1; i <= n; ++i){f[i][1].s += s[i], f[i][1].t += t[i];for (int j = 2; j <= i; ++j){f[i][j] = g[j - 1];f[i][j].s += s[i], f[i][j].t += t[i];}for (int j = 1; j <= i; ++j)g[j] = max(g[j], f[i][j]);}for (int i = 1; i <= n; ++i)ans = max(ans, g[i]);cout << ans.s + ans.t << "\n";return 0;
}

t3

code

呜呜
#include <bits/stdc++.h>
using namespace std;
const int N = 4e5 + 10;
int n;
int a[N], id[N];struct tree
{int l, r, laz, val;
} t[N << 2];
#define lid (id << 1)
#define rid (id << 1 | 1)inline void pushdown(int id)
{if (!t[id].laz)return;t[lid].laz += t[id].laz;t[lid].val += t[id].laz;t[rid].laz += t[id].laz;t[rid].val += t[id].laz;t[id].laz = 0;
}void build(int id, int l, int r)
{t[id].l = l, t[id].r = r;if (l == r){t[id].val = -l;return;}int mid = (l + r) >> 1;build(lid, l, mid);build(rid, mid + 1, r);t[id].val = max(t[lid].val, t[rid].val);
}void update(int id, int l, int r, int val)
{if (l <= t[id].l && t[id].r <= r){t[id].laz += val, t[id].val += val;return;}int mid = (t[id].l + t[id].r) >> 1;pushdown(id);if (mid >= l)update(lid, l, r, val);if (mid < r)update(rid, l, r, val);t[id].val = max(t[lid].val, t[rid].val);
}signed main()
{freopen("list.in", "r", stdin);freopen("list.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> n;for (int i = 1; i <= n * 2 + 1; ++i)cin >> a[i], id[a[i]] = min(i, 2 * n + 1 - i + 1);int L = 1, R = 0, ans = 0;build(1, 1, n + 1);while (L <= 2 * n + 1 && R <= 2 * n + 1){while (1){if (R == 2 * n + 1)break;update(1, id[++R], n + 1, 1);if (t[1].val > 0){update(1, id[R--], n + 1, -1); // 一定要移回来break;}if (R == 2 * n + 1)break;}ans = max(R - L + 1, ans); // 然后加区间长度update(1, id[L++], n + 1, -1);}cout << ans << "\n";return 0;
}
// 还是区间写法好理解😋
http://www.hskmm.com/?act=detail&tid=36928

相关文章:

  • 新学期每日总结(第13天)
  • GCM(Galois/Counter Mode) 认证加密算法实现
  • 【学习笔记】slope-trick
  • 10.13-10.19学习做题笔记
  • 2025.10.22
  • yny计数题记录
  • 20232404 2025-2026-2 《网络与系统攻防技术》实验二实验报告
  • 1020302118兰逸霏的第一次作业
  • ubuntu 25.10 修改源 - ldx
  • pytorch学习笔记(1)
  • 20232318 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • 《中华人民共和国网络安全法》第二十一条这一核心考点
  • 嵌入式软件分层架构设计 - lucky
  • DP 基础题乱做
  • [题解]P4616 [COCI 2017/2018 #5] Pictionary
  • 二三级区别
  • 第九章-Where-1S-tHe-Hacker
  • CF 2023D Many Games
  • 2025.10.22考试记录
  • 2025多校冲刺CSP模拟赛7 题目分析
  • Typora的多端同步方案,如何多台计算机共享md文件?Windows和Mac通过定时执行git来同步markdown文件
  • Trie树
  • Seg T
  • 2025.10.22总结 - A
  • 蛋白表达系统的技术布局与应用
  • 软件工程学习日志2025.10.22
  • CF2077B Finding OR Sum
  • 10月22日
  • OOP-实验二
  • P2272 [ZJOI2007] 最大半连通子图