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

ashx做网站2022年时事政治热点汇总

ashx做网站,2022年时事政治热点汇总,内蒙古疫情最新数据,南阳网站建设B. Minimize Permutation Subarrays 题目: 思路: 考虑了一半,小失误 首先我们考虑答案至少有几个,显然至少有两个,一个是 1,一个是 1 ~ n,即只选 1 和 全选 那么再考虑是否能让答案只有这两个…

B. Minimize Permutation Subarrays

题目:

思路:

考虑了一半,小失误

首先我们考虑答案至少有几个,显然至少有两个,一个是 1,一个是 1 ~ n,即只选 1 和 全选

那么再考虑是否能让答案只有这两个呢?

显然是可以的,我们只需要将 n 放在 1 和 2 的中间即可,即 1 n 2 或 2 n 1 的形式,因为如果要有 2,那么必须就要经过 n,那么此时如果不全选是无法构造出一个排列的,所以这个方法可行,同时也只需要一步

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"void solve()
{int n;cin >> n;vector<int> a(n+1);vector<int> idx(n + 1);for (int i = 1; i <= n; i++){cin >> a[i];idx[a[i]] = i;}if (idx[n] < min(idx[1], idx[2])) {cout << idx[n] << ' ' << min(idx[1], idx[2]) << '\n';}else if (idx[n] > max(idx[1], idx[2])) {cout << idx[n] << ' ' << max(idx[1], idx[2]) << '\n';}else {cout << idx[1] << ' ' << idx[2] << '\n';}
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

C. No Prime Differences

题目:

思路:

对脑电波

首先我们得想到1是一个非质数,那么我们可以构造形如 1 2 3 4 5..这样的连续数列当作一行

那么任意两行间的差就是 m 了,这显然是不行的,如果 m 是质数就炸了,所以考虑优化

既然不能是 m,那我 2*m 不久行了吗?

所以我们可以这样构造,对于 n = 5,m = 5 的情况,我们只需要

11 12 13 14 15
1 2 3 4 5
16 17 18 19 20
6 7 8 9 10
21 22 23 24 25

即偶数个 m 和奇数个 m交替放,同时每放一次就将偶数奇数加 1

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"void solve()
{int n, m;cin >> n >> m;int ji = 0, ou = n / 2;for (int i = 1; i <= n; i++){if (i % 2 ==0){for (int j = 1; j <= m; j++){cout << ji *m + j << " ";}ji++;cout << endl;}else{for (int j = 1; j <= m; j++){cout << ou * m + j << " ";}ou++;cout << endl;}}
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

D. Bracket Walk

题目:

思路:

想到了,但不会证明(果然ACM不需要证明)

显然,对于 (),)( 的结构我们反复走是无所谓的,唯独 (( 和 )) 是反复走有用的,因为我们可以不断重复走然后构造出无数个 ( 或 )

那么看看什么时候无法构造,首先 n 是奇数时是不可能的,因为你无论怎么走最后一定是 n + 2*k 个括号,n 是奇数,2*k是偶数,所以最后一定是奇数个括号,那么一定无法构造

那么偶数呢?首先如果首是 ) 或者尾是 ( 肯定是不行的,那其余情况呢?

上面我们说 (( 和 )) 是有影响的,所以我们可以记录 (( 和 )) 的位置

如果 有 (( 但是 没 )),说明是类似 ()()()(()... 的机构,此时一定无法消除多余的 (,那么就不行,同理如果只有 )) 没 (( 也是一样的

如果都没那就是 ()()()()()()(),此时就是直接走即可,那么如果都有呢?

如果都有的话,只要有 )) 出现在第一个 (( 之前就不行,因为此时无法消除 ),除此之外一定可以,因为我们可以不断走 (( 来修正多的 ) ,所以一定可以

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"void solve()
{int n, q;cin >> n >> q;string s;cin >> s;s = '&' + s;set<int> L, R;for (int i = 1; i < n; i++){if (s[i] == s[i + 1]){if (s[i] == '(')L.insert(i);elseR.insert(i);}}auto check = [&]() ->int{if (n % 2 || s[1] == ')' || s[n] == '(')return 0;else if (L.empty() && R.empty()) return 1;else if (L.empty() || R.empty())return 0;else if ((*L.begin() < *R.begin()) && (*L.rbegin() < *R.rbegin())) return 1;else return 0;};for (int i = 0; i < q; i++){int x; cin >> x;if (x != 1 && s[x] == s[x - 1]){if (s[x] == '(')L.erase(x-1);else R.erase(x-1);}if (x != n && s[x] == s[x + 1]){if (s[x] == '(')L.erase(x);else R.erase(x);}s[x] = (s[x] == '(') ? ')': '(';if (x != 1 && s[x] == s[x - 1]){if (s[x] == '(')L.insert(x - 1);else R.insert(x - 1);}if (x != n && s[x] == s[x + 1]){if (s[x] == '(')L.insert(x);else R.insert(x);}check() ? yes : no;}
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;while (t--){solve();}return 0;
}

http://www.dtcms.com/wzjs/201910.html

相关文章:

  • 17做网站 一件代发seo是怎么优化的
  • 公司网站建设设计网站建设方案开发
  • 网站怎样做支付接口百度网盘app下载安装手机版
  • 深圳网站建设q.479185700惠沈阳网页建站模板
  • 广东两学一做网站信息流广告代运营
  • 热血传奇网页游戏上海关键词优化外包
  • 做企业网站推广多少钱百度网络科技有限公司
  • 宁波品牌网站建设服务电话免费b2b网站有哪些
  • 帝国网站管理系统入门教程今日头条国际军事新闻
  • 企业建站公司电话上海网络推广团队
  • 建设网站具备的知识英语培训
  • 百度云搜索引擎网站百度快速排名化
  • 有专门做最佳推荐的网站seo免费教程
  • 校园网站模板营销计划书7个步骤
  • 卫计局本年度网站建设工作总结女生seo专员很难吗为什么
  • 深圳网站制作网站建设怎么制作网站深圳博纳免费做网站网站的软件
  • wordpress安装地址郑州seo排名第一
  • 南昌网站免费制作网络优化app哪个好
  • wordpress电商插件seo搜索引擎优化试题及答案
  • 做网站的标签什么意思企业推广宣传方式
  • 微信网站怎么制作流量神器
  • 网站建设管理界面抖音关键词排名查询工具
  • 郑州做商城网站上海网络营销seo
  • 做自媒体常用的图片网站成都关键词排名推广
  • jsp做网站下载图片seo视频教程百度云
  • 个人做电商网站赚钱吗朋友圈的广告推广怎么弄
  • 用wordpress做音乐网站最新舆情信息网
  • 个人申请营业执照流程网站优化外包找谁
  • 一个网站怎么推广网店运营流程步骤
  • 做网站设计电脑需要什么配置交换友情链接的注意事项