搭建租号网的网站,wordpress建企业网站,wordpress auto,戴尔网站建设成功的关键2025.2.14——1400 A 1400
B 1400
C 1400
D 1400
E 1400
F 1400
G 1400
H 1400
------------------------------------------------ 思维排序/双指针/二分/队列匹配思维二分/位运算思维数学思维 A
一眼想到的是维护信息计数。维护两个信息同时用长的一半去找短的一半…2025.2.14——1400 A 1400
B 1400
C 1400
D 1400
E 1400
F 1400
G 1400
H 1400
------------------------------------------------ 思维排序/双指针/二分/队列匹配思维二分/位运算思维数学思维 A
一眼想到的是维护信息计数。维护两个信息同时用长的一半去找短的一半。较好的思维题。 B
贪心匹配优先使用最小的匹配合法最小的。排序双指针/二分/队列匹配。 C
出现一次子数组也是子序列所以不能再出现了。发现边界是控制出现与否的充要条件。 D
从每一位考虑最初以为 k k k 每一位都需要出现其实不是但可以凭借这个思路计算出区间按位与具体数的。另解今天才知道 s t st st 表可以维护区间按位与、按位或值。 E
逆向思维优化模拟指针移动找循环。思维量挺多。 F
数学题。证明无解不太懂限制次数过了。 洛谷题解。 G
LCM与GCD问题数学一下分析因子。 H
横向纵向分别考虑。横向可转化为纵向。考虑纵向交替发现对纵向平衡性无影响。同时对两行平衡性无影响且无后效性。 ------------------------代码------------------------
A
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;// cin T;while (T--)_();return 0;
}int has[6][46];
auto sum(string s, int l, int r)
{int ans 0;for (int i l; i r; i)ans s[i] - 0;return ans;
}
auto sum(string s)
{int ans 0;for (auto v : s)ans v - 0;return ans;
}
auto tar_sum(string s, int l, int r)
{return 2 * sum(s, l, r) - sum(s);
}
void _()
{int n;cin n;vectorstring s(n);for (auto v : s){cin v;has[v.size()][sum(v)];}int res 0;for (auto l : s){int ln l.size();for (int i 2; i 10; i 2){int rn i - ln;if (rn 0 || rn ln)continue;int tar_r tar_sum(l, 0, i / 2 - 1);if (tar_r 0)continue;res has[rn][tar_r];}}for (auto r : s){int rn r.size();for (int i 2; i 10; i 2){int ln i - rn;if (ln 0 || ln rn)continue;int tar_l tar_sum(r, rn - i / 2, rn - 1);if (tar_l 0)continue;res has[ln][tar_l];}}cout res;
}
// int has[6][46][6][46];
// void _()
// {
// memset(has, 0x3f, sizeof has);
// int n;
// cin n;
// // struct Node
// // {
// // /* data */
// // int len, sum, prelen, presum;
// // };
// // mapNode, int has;
// auto get_suf [](string s, int suf)
// {
// int sum 0, m s.size();
// for (int i m - 1; i m - suf; i--)
// sum s[i] - 0;
// return sum;
// };
// auto get_pre [](string s, int pre)
// {
// int sum 0, m s.size();
// for (int i 0; i pre; i)
// sum s[i] - 0;
// return sum;
// };
// int res 0;
// for (int i 0; i n; i)
// {
// string s;
// cin s;
// res;
// int m s.size();// for (int sum 0; sum 90; sum 2)
// for (int len 2; len 10; len 2)
// {
// int tar_sum sum - get_pre(s, m);
// int tar_len len - m;
// // bug3(len, m, tar_len);
// if (tar_sum 0 || tar_len 0 || tar_len 5 || tar_sum 45)
// continue;
// int half len 1;
// if (m tar_len)
// {
// if (get_suf(s, half) 1 len)
// {
// for (int i 1; i 5; i)
// for (int j 0; j 45; j)
// res has[tar_len][tar_sum][i][j];
// }
// }
// else
// {
// // bug2(tar_len, tar_sum);
// // bug2(half, tar_sum 1);
// res has[tar_len][tar_sum][half][tar_sum 1];
// }
// }
// int sum get_pre(s, m);
// for (int i 0; i m; i)
// has[m][sum][i 1][get_pre(s, i 1)], bug(has[m 1][sum][i][get_pre(s, i 1)]);
// }
// cout res;
// el;
// }B
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;cin T;while (T--)_();return 0;
}void _()
{int n;cin n;vectorpairint, int a;for (int i 0; i n; i){int x;cin x;a.push_back({x, -1});}for (int i 0; i n; i){int x;cin x;a.push_back({x, 1});}sort(begin(a), end(a));int res n;queueint q;for (auto [x, y] : a){if (y -1)q.push(x);else{if (q.size() x q.front())res--, q.pop();}}cout res \n;
}
// void _()
// {
// int n;
// cin n;
// vectorint a(n), b(n);
// for (int x : a)
// cin x;
// for (int x : b)
// cin x;
// sort(begin(a), end(a));
// sort(begin(b), end(b));
// int l 0, r 0, res n;
// for (; r n; r)
// if (a[l] b[r])
// l, res--;
// cout res;
// el;
// }C
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;cin T;while (T--)_();return 0;
}void _()
{int n;cin n;vectorint a(n 1), f(n 1), g(n 1);for (int i 1; i n; i)cin a[i];mapint, bool has;for (int i 1; i n; i)if (!has[a[i]])f[i] 1, has[a[i]] 1;has.clear();for (int i n; i; i--)if (!has[a[i]])g[i] 1, has[a[i]] 1;int pre 0, res 0;for (int i 1; i n; i){pre f[i];res pre * g[i];}cout res;el;
}D
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;cin T;while (T--)_();return 0;
}void _()
{int n;cin n;vectorint a(n 1);for (int i 1; i n; i)cin a[i];vectorvectorint pre(30, vectorint(n 1));for (int i 0; i 30; i)for (int j 1; j n; j)pre[i][j] pre[i][j - 1] (a[j] i 1);// ST表 RMQ 倍增// dp[i][j] 以i为起点 长度为1j的区间的最大值vectorvectorint dp(n 1, vectorint(32));// initfor (int j 0; j 30; j) // j 是每一层状态for (int i 1; i n; i){if (i (1 j) - 1 n)continue;if (!j)dp[i][j] a[i];elsedp[i][j] dp[i][j - 1] dp[i (1 j - 1)][j - 1];}// queryauto ask [](int l, int r){int k __lg(r - l 1);return dp[l][k] dp[r 1 - (1 k)][k];};auto ok [](int l, int r, int k){// int ans 0;// for (int i 0; i 30; i)// {// if (pre[i][r] - pre[i][l - 1] (r - l 1))// ans 1ll i;// }// return ans k;return ask(l, r) k; // ST表只需这一句};// bug(ok(1, 1, 7));// bug(ok(1, 2, 7));int q;cin q;while (q--){int L, k;cin L k;int l L - 1, r n 1;while (r - l - 1){int R l r 1;if (ok(L, R, k))l R;elser R;}// bug2(l, r);cout (l L ? -1 : l) ;}el;
}E
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;cin T;while (T--)_();return 0;
}void _()
{int n, k;cin n k;vectorint a(n 1);for (int i 1; i n; i)cin a[i];int f n;vectorint vis(n 1);while (k--){if (a[f] n){cout No;el;return;}vis[f] 1;f (f - a[f] n) % n;if (vis[f])break;}// k % cnt;// while (k--)// f a[f];// for (int i f 1; i n; i)// cout a[i] ;// for (int i 1; i f; i)// cout a[i] ;cout Yes;el;
}F
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;cin T;while (T--)_();return 0;
}void _()
{int n, m;cin n m;n % m;int cnt 100, res 0;while (cnt--){if (n % m 0){cout res;el;return;}while (n m){res n;n 1;}n % m;}cout -1;el;
}G
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;// cin T;while (T--)_();return 0;
}void _()
{int n, m;cin n;vectorint t(n);mapint, int a, b;for (int x : t)cin x;for (int i 0; i n; i){int x;cin x;a[t[i]] x;}cin m;t.assign(m, 0);for (int x : t)cin x;for (int i 0; i m; i){int x;cin x;b[t[i]] x;}constexpr int mod 998244353;int res 1;for (auto [x, y] : b)if (a[x] y)res 0;for (auto [x, y] : a)res * y b[x] ? 2 : 1, res % mod;cout res;el;
}H
#include bits/stdc.h
#define int long long //
#define endl \n // attention: interactive/debug
#define el cout endl
using namespace std;
#define bug(BUG) cout bug:# (BUG) endl
#define bug2(BUG1, BUG2) cout bug:# (BUG1) (BUG2) endl
#define bug3(BUG1, BUG2, BUG3) cout bug:# (BUG1) (BUG2) (BUG3) endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout Vec ; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout fixed setprecision(10);int T 1;cin T;while (T--)_();return 0;
}void _()
{int n, m;cin n m;vectorstring s(n 1);for (int i 1; i n; i)cin s[i], s[i] s[i];vectorvectorint f(n 1, vectorint(m 1));bool fail 0;for (int i 1; i n; i){int ans 1;for (int j 1; j m; j)if (s[i][j] U)f[i][j] ans, ans -ans, f[i 1][j] ans;}for (int j 1; j m; j){int ans 1;for (int i 1; i n; i)if (s[i][j] L)f[i][j] ans, ans -ans, f[i][j 1] ans;}for (int i 1; i n; i){int sum_row 0;for (int j 1; j m; j)sum_row f[i][j];if (sum_row)fail 1;}for (int j 1; j m; j){int sum_col 0;for (int i 1; i n; i)sum_col f[i][j];if (sum_col)fail 1;}if (fail){cout -1 \n;return;}for (int i 1; i n; i){for (int j 1; j m; j){if (f[i][j])cout (f[i][j] 1 ? W : B);elsecout .;}cout \n;}
}
// void _()
// {
// int n, m;
// cin n m;
// vectorstring s(n 1);
// for (int i 1; i n; i)
// cin s[i], s[i] s[i];
// vectorvectorint f(n 1, vectorint(m 1));
// bool fail 0;
// for (int i 1; i n; i)
// {
// int sum_row 0;
// for (int j 1; j m; j)
// {
// if (s[i][j] - .)
// f[i][j] i j 1 ? 1 : -1;
// sum_row f[i][j];
// }
// if (sum_row)
// fail 1;
// }
// for (int j 1; j m; j)
// {
// int sum_col 0;
// for (int i 1; i n; i)
// sum_col f[i][j];
// if (sum_col)
// fail 1;
// }
// if (fail)
// {
// cout -1 \n;
// return;
// }
// for (int i 1; i n; i)
// {
// for (int j 1; j m; j)
// {
// if (f[i][j])
// cout (f[i][j] 1 ? W : B);
// else
// cout .;
// }
// cout \n;
// }
// }