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

大型网站设计方案做网站的外包公司

大型网站设计方案,做网站的外包公司,代理登录网站,广东网站建设制作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

  1. 一眼想到的是维护信息计数。
  2. 维护两个信息同时用长的一半去找短的一半。
  3. 较好的思维题。

B

  1. 贪心匹配:优先使用最小的匹配合法最小的。
  2. 排序+双指针/二分/队列匹配。

C

  1. 出现一次,子数组也是子序列,所以不能再出现了。
  2. 发现边界是控制出现与否的充要条件。

D

  1. 从每一位考虑,最初以为 k k k 每一位都需要出现,其实不是,但可以凭借这个思路计算出区间按位与具体数的。
  2. 另解:今天才知道 s t st st 表可以维护区间按位与、按位或值。

E

  1. 逆向思维+优化模拟:指针移动+找循环。
  2. 思维量挺多。

F

  1. 数学题。证明无解不太懂,限制次数过了。 洛谷题解。

G

  1. LCM与GCD问题,数学一下分析因子。

H

  1. 横向纵向分别考虑。横向可转化为纵向。
  2. 考虑纵向:交替发现对纵向平衡性无影响。同时对两行平衡性无影响且无后效性。

------------------------代码------------------------

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;vector<string> 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;
//     // };
//     // map<Node, 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;vector<pair<int, 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;queue<int> 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;
//     vector<int> 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;vector<int> a(n + 1), f(n + 1), g(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];map<int, 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;vector<int> a(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];vector<vector<int>> pre(30, vector<int>(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为起点 长度为1<<j的区间的最大值vector<vector<int>> dp(n + 1, vector<int>(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;vector<int> a(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];int f = n;vector<int> 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;vector<int> t(n);map<int, 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;vector<string> s(n + 1);for (int i = 1; i <= n; i++)cin >> s[i], s[i] = ' ' + s[i];vector<vector<int>> f(n + 1, vector<int>(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;
//     vector<string> s(n + 1);
//     for (int i = 1; i <= n; i++)
//         cin >> s[i], s[i] = ' ' + s[i];
//     vector<vector<int>> f(n + 1, vector<int>(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';
//     }
// }

http://www.ds6.com.cn/news/92692.html

相关文章:

  • 做淘客app要网站吗培训中心
  • 武汉政鑫建设有限公司网站湖北网站建设制作
  • 政府部门网站建设的重要意义互联网营销师培训
  • 安徽城乡建设委员会的网站网站如何进行优化
  • 网站建设公司 销量app安装下载
  • 网站做外部链接互联网100个创业项目
  • 有ip地址如何做网站2345网址导航用户中心
  • 怎样用云服务器做网站2023引流软件
  • 文具网站建设理念游戏推广员到底犯不犯法
  • 帝国cms网站公告怎么做希爱力吃一颗能干多久
  • 做销售网站多少钱企业整站优化
  • 做网商必备网站网页模板建站系统
  • 北京做企业网站网站推广的方式有哪些?
  • 万州网站制作公司电脑培训班零基础
  • 摄影作品网站排行榜2023很有可能再次封城吗
  • 在线旅游攻略网站建设方案app开发工具哪个好
  • 跟随网站滚动的悬浮框怎么做免费发布信息的平台有哪些
  • 网站建设 中企动力厨具怎么买域名自己做网站
  • 罗湖网站建设的公司三只松鼠网络营销案例分析
  • 网站布局设计分析特点网站是怎么优化的
  • 现货交易平台宁波seo网络推广咨询热线
  • 华池网站建设黑帽seo是什么意思
  • 做网站基础2020做seo还有出路吗
  • 塘厦网站仿做优化关键词排名推广
  • 织梦做分类信息系统网站水果网络营销推广方案
  • 网站建设捌金手指花总二五中文域名交易网站
  • 做网站asp策划方案
  • 方太网站谁做的推广赚钱平台
  • 合肥公司网站建设价格爱站网长尾关键词挖掘工具的作用
  • 衡阳哪有做网站推广的百度首页纯净版