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

外国网站上做Task链接搜索引擎

外国网站上做Task,链接搜索引擎,线下广告宣传方式有哪些,网站建设建网站做网站网站设计题面链接:Dashboard - Codeforces Round 1024 (Div. 2) - Codeforces A. Dinner Time 思路 一共n个数被分成n/p个区间,每个区间内的和是q,如果还有除构成区间外剩余的数那么就一定能构造,如果没有剩余就看所有区间的和是否等于…

题面链接:Dashboard - Codeforces Round 1024 (Div. 2) - Codeforces

A. Dinner Time

思路

一共n个数被分成n/p个区间,每个区间内的和是q,如果还有除构成区间外剩余的数那么就一定能构造,如果没有剩余就看所有区间的和是否等于m

代码

void solve(){int n,m,p,q;cin>>n>>m>>p>>q;int t=n/p;int res=n%p;if(res==0){if(t*q!=m){cout<<"No\n";}else{cout<<"Yes\n";}}else{cout<<"Yes\n";}
}

B. The Picky Cat

思路

我们统计绝对值大于x的数,如果大于的数过半就可以,我们可以将绝对值大于x的数取负那么原本比x大的数就会比x小

代码

void solve(){int n;cin>>n;vector<int> a(n+10);int cnt=0;  //记录绝对值大于a[1]的数量for(int i=1;i<=n;i++){cin>>a[i];}int x=abs(a[1]);for(int i=1;i<=n;i++){if(abs(a[i])>=x) cnt++;}if(cnt>=(n+1)/2){cout<<"Yes\n";}else{cout<<"No\n";}
}

C. Mex in the Grid

思路

这题得贪心地构造,我们要子网格地mex尽可能大,我们就要求对于每个网格尽可能的包含0 1 2...

我们很容易看出我们要把0放在网格的中间,之后填数的时候我们以0为起点螺旋的构造

这样就可以贪心的保证子网格mex的和最大

代码

void solve() {int n;cin >> n;vector<vector<int>> g(n, vector<int>(n, -1));int dir[4][2] = {{0,1}, {1,0}, {0,-1}, {-1,0}};int x = n/2, y = n/2;if (n % 2 == 0) { x--; y--; }int num = 0;g[x][y] = num++;int d = 0;int st = 1;bool f = false;while (num < n * n) {for (int k = 0; k < 2; ++k) {for (int i = 0; i < st; i++) {x += dir[d][0];y += dir[d][1];if (x < 0 || x >= n || y < 0 || y >= n) continue;if (g[x][y] == -1) {g[x][y] = num++;}}d = (d + 1) % 4;}st++;}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {cout << g[i][j] << " ";}cout << "\n";}
}

D. Quartet Swapping

思路

关于此题我们观察出奇数和偶数要分成两组,我们在进行操作的时候偶数组和奇数组是不会相互交换的,也就是在最终答案统计的时候每个位置的数奇偶性是不会改变的

假设现在有一个数组,分为奇偶

1 2 3 4 5 6 7 8

现在我们将5移动到1的位置我们可以先后交换 先选择i=2 : 5->3  i=1 : 5->1

那么数组就会变为 5 2 1 4 3 6 7 8,这时候我们发现我们将5前移了两位,而偶数组的数并未发生改变,但是考虑我们如果只前移一位的时候我们便会交换偶数组的两个数,那么我们怎么处理才能够使得偶数组的数未发生改变,我们只需要将移动后的最后两个数交换即可

那么我们先假设最后的两个数没有交换贪心地移动偶数组和奇数组的数,最后在根据奇数组和偶数组最后有没有交换更新答案即可,那么到底移动了多少次呢?

我们回到问题的要求,需要尽可能的将小数排序,我们可以想到每次将数组小的数放到前面即可,那么就能够想到统计以下逆序对的个数,即移动次数

我们可以用BIT来统计一下偶数组和奇数组的逆序对的个数,如果奇偶性相同的话就不用交换最后的数了,如过不同我们就交换一下ans[n]与ans[n-2]

代码

#include<bits/stdc++.h>
using namespace std;#define vcoistnt ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 
#define int long long
#define vi vector<int>
#define vb vector<bool>
typedef pair<int,int> pll;const int N=2e5+10;
const int inf=1e18;
const int mod=998244353;#define lowbit(x) ((x)&-(x))
struct BIT{int n;vector<int> tree;void init(int x){n=x;tree.resize(x+10);}void update(int x,int d){for(int i=x;i<=n;i+=lowbit(i)){tree[i]+=d;}}int sum(int x){int ans=0;for(int i=x;i>0;i-=lowbit(i)){ans=ans+tree[i];}return ans;}
};void solve() {int n;cin>>n;vector<int> a(n+10);for(int i=1;i<=n;i++) cin>>a[i];vector<int> x,y;for(int i=1;i<=n;i++){if(i%2) x.push_back(a[i]);else y.push_back(a[i]);}//统计逆序对的数量BIT btx;btx.init(n);int sx=0;for(int i=x.size()-1;i>=0;i--){sx+=btx.sum(x[i]);btx.update(x[i],1);}BIT bty;bty.init(n);int sy=0;for(int i=y.size()-1;i>=0;i--){sx+=bty.sum(y[i]);bty.update(y[i],1);}sort(x.begin(),x.end());sort(y.begin(),y.end());vi ans(1);for(int i=1;i<=n;i++){if(i%2) ans.push_back(x[i/2]);else ans.push_back(y[(i/2)-1]);}if((sx%2)!=(sy%2)) swap(ans[n],ans[n-2]);for(int i=1;i<=n;i++){cout<<ans[i]<<" ";}cout<<"\n";}
signed main() {vcoistntcout<<fixed<<setprecision(2);int _=1;cin>>_;while(_--) solve();return 0;
}

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

相关文章:

  • 宝塔面板wordpress安装优化 seo
  • 铜川网站建设公司电话广告联盟官网
  • 教你做面膜v官方网站手机系统优化工具
  • 电子商务网站规划与网页制作2345网址导航智能主板
  • 平安网站建设工作总结广告公司取名字参考大全
  • 企业做网站便宜成都最新消息今天
  • 做网站文字怎么围绕图片竞价托管外包服务
  • 青岛本地招聘网站湘潭网站设计
  • 网站建设哪家好服务国内好的seo网站
  • 网站做了301怎么查看跳转前网站百度seo怎么提高排名
  • 沈阳网站模板建站优化网站关键词排名
  • 做电商网站的框架结构图好的推广平台
  • 做网站不挣钱怎么联系百度客服
  • 用google翻译做多语言网站网站建设推广服务
  • 宁波做公司网站公司现在阳性最新情况
  • 网站建设咨询哪些方面中国国家培训网官网查询
  • 一个dede管理两个网站百度站长平台网址
  • 深圳网站建设模板网络营销的手段有哪些
  • 深圳计算机软件培训学校快速排名优化怎么样
  • 网站建设合约具体内容seo基础知识培训视频
  • web前端开发流程内蒙古seo优化
  • 网站建设公制度网页怎么搜索关键词
  • 秦皇岛市海港区邮编seo营销是什么
  • 网站建设 协议书刷排名seo
  • 建设一个一般网站需要多少钱seo站外推广有哪些
  • 做公众号用什么网站吗今日新闻摘抄50字
  • next.js做纯静态网站北京百度seo工作室
  • 自建网络商城seo网络推广什么意思
  • 如何在建设部网站补录项目惠州网络营销公司
  • 国家卫健委疫情最新消息搜索引擎优化关键词选择的方法有哪些