AtCoder Regular Contest 192 (Div. 2) ARC192A ARC Arc把需要的状态全记下来,然后直接 DP。constexpr int N = 2e5 + 5; bool f[N][3][3][4]; void slv() { int n = Read<int>(); vector<int> A(n); for (int i = 0; i < n; i ++) { Read(A[i]); } auto chk = [&](...
AtCoder Regular Contest 191 (Div. 2) ARC191A Replace Digits除了最后一个字符必须在 ss 中,其他字符都是随意的。从高往低一次填即可,能填最后一个就填,否则就填前面的。最后再把最后一个字符放到最后一个位置即可。constexpr int N = 1e6 + 5;...
We will hold AtCoder Regular Contest 191 (Div. 2). Contest URL: https://atcoder.jp/contests/arc191 Start Time: http://www.timeanddate.com/worldclock/fixedtime.html?iso=20250126T2100&p1=248 Duration: 120 minutes Number of Tasks: 5 Writer: sounansya Tester: Nyaan, maspy Rated range: ...
j -= 1; LL len = j - i + 1; if(len == 1) continue; else if(len%2 == 0){ //偶数个可以全部消除 for(LL k=i;k<=j;k++){ st[k] = true; } } else{ //奇数个就选出奇数里最大的负数 LL maxv = - INT_MAX; LL t = -1; for(LL k=i;k<=j;k+=2) //1,3,5,....
优化一+二+三:通过9个点,最坏情况仍然是qnlog(n^2) 正解思路: PS:其实数据范围给提示了 情况一:有直连边 答案是 w[s] + w[t] 不存在更优解 情况二:需要借助第三个边 此时答案为w[s] + w[t] + min{ min(l_s,l_t)左边最小的w(r边),max(r_s,r_t)右边最小的w(l边) } ...
1026 A - Two Regular Polygons GNU C++17 geometry greedy math number theory *800 Apr/17/2023 17:09 1025 B - Young Explorers GNU C++17 dp greedy sortings *1200 Apr/16/2023 15:49 1024 B - JoJo's Incredible Adventures GNU C++17 math strings two pointers *1100 Apr/15/2023 18:51 1023...
https://codeforces.com/contest/1833 div3D 题意 给你一个[1..n]的排列,你必须选择一个区间[l,r],1≤l≤r≤n让这一段反转,然后,交换前后缀的位置,也就是互换[1,l−1],[r+1,n]的位置,那么最终的结果应该是这样的三段接合在一起:[r+1,n],[r..l],[1,l−1]。
AtCoder Regular Contest 195 (Div. 2) ARC195A Twice Subsequence找到第一次和最后一次出现的位置,判断是否相同即可。void slv() { int n, m; Read(n, m); vector<int> A(n), nxt(n), B(m); for (int i = 0; i < n; i ++) { Read(A[i]); } for (int i = 0; i < m; i ++...
AtCoder Regular Contest 194 (Div. 2) ARC194A Operations on a Stack发现一定是删掉若干段偶数长度的不选,直接 DP 即可做到线性。void slv() { int n = Read<int>(); vector<int> A(n); for (int i = 0; i < n; i ++) { Read(A[i]); } vector<array<ll, 3>> f(n); f[0][2]...
#include<bits/stdc++.h> usingnamespacestd; #definepb push_back #defineendl'\n' #defineLL long long constintN =5e5+10; intn, a[N], l[N], r[N]; LL pre[N], suf[N], b[N]; voidsolve(){ cin >> n; for(inti =1; i <= n; i++) { ...