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

网站建设风格qq推广官网

网站建设风格,qq推广官网,电商 网站 设计,在线开发网站建设这场cf只在b卡了一下,因为b真是犯蠢了,我以为会向下取整,结果是完全就不取整,或者说是向上取整,卡了我半个小时,要不是紧急看了题一下,昨天那场就毁了 话不多说,直接开讲 A. Game …

这场cf只在b卡了一下,因为b真是犯蠢了,我以为会向下取整,结果是完全就不取整,或者说是向上取整,卡了我半个小时,要不是紧急看了题一下,昨天那场就毁了

话不多说,直接开讲

A. Game of Division

思路:很容易就能看出来就是同余定理,能够找到一个取模k的数,且只有这一个数取模k为当前的余数,那么就输出这个数,否则一定存在两个数相减会导致能被k整除

#include <bits/stdc++.h>  
using namespace std;  
#define int long long  int t;  
int n, k;  
int a[200005];  void solve() {  cin >> n >> k;  int m[k + 1];  memset(m, 0, sizeof(m));  int index[k + 1]; memset(index, -1, sizeof(index)); for (int i = 1; i <= n; i++) {  cin >> a[i];  a[i] = a[i] % k;  m[a[i]]++;  index[a[i]] = i;  }  for (int i = 0; i < k; i++) {  if (m[i] == 1) {  cout << "YES\n";  cout << index[i] << "\n"; return;  }  }  cout << "NO\n";  
}  signed main() {  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);  cin >> t;  while (t--) {  solve();  }  return 0;  
}

 B. Paint a Strip

思路:我们发现,如果要输出最小的第一次操作,那么我们的放置位置一定是

1,4,10,22防置,为什么呢?

因为我们手玩一下,就可简单的发现,其实在1,4放完之后,可以直接2操作将前四个都变成1,然后在10再放置一个,就会有5个1,刚好能够把1~10全部渲染,后面同理可得

找到规律,flag=2*flag+2;

#include<bits/stdc++.h>
using namespace std;
#define int long long
int t;
int n,k;
int a[200005];void solve()
{cin>>n;if(n<=4){if(n==1){cout<<1<<"\n";}else{cout<<2<<"\n";}}else{int ans=2;int flag=4;while(flag<n){flag=flag*2+2;ans++;}cout<<ans<<"\n";}
}signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin>>t;while(t--)solve();return 0;
}

 C. Ordered Permutations

思路:我自己纯手写了个数从2到4的情况下,有多少个是最大的,然后发现,当个数为n的时候,有2^(n-1)个数是最大的,如果k大于这个数,就是无解,否则有解

然后我自己又手玩了一下,又发现一个规律,我们每次一个分段的最小值都应当放在两边,当我们这个分段k值大于一半,那么我们当前位的数就放在末尾,否则放在第一位

然后我们就可以用类二进制思想轻松解决

#include<bits/stdc++.h>
using namespace std;
#define int long long
int t;
int n,k;
int l,r;
int a[200005];
int flag[200005];
int vec[200005];
void solve()
{cin>>n>>k;k--;memset(flag,-1,sizeof(flag));for(int i=n-1; i>=1; i--){if(k&1){flag[i]=1;}k=k>>1;}if(k!=0){cout<<-1<<"\n";return;}l=1,r=n;for(int i=1; i<=n; i++){if(flag[i]==1){vec[r--]=i;}else{vec[l++]=i;}}for(int i=1; i<=n; i++){cout<<vec[i]<<" ";}cout<<"\n";
}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>t;while(t--)solve();return 0;
}

 D. Non Prime Tree

思路:我们将跟结点赋值为1,然后将后续其第一个子节点赋值为父节点的值+1,其余子节点与父节点的值的差值为除了2以外的偶数即可

#include<bits/stdc++.h>
using namespace std;
#define int long long
int t;
int n,k;
int u,v;
vector<int> e[200005];
int ans[200005];
int flag;
void dfs(int v,int fa)
{for(int u:e[v]){if(u!=fa){ans[u]=flag+1;while(ans[u]!=ans[v]+1&&(ans[u]%2!=ans[v]%2||abs(ans[u]-ans[v])==2)){ans[u]++;}flag=ans[u];dfs(u,v);}}return ;
}
void solve()
{cin>>n;for(int i=1;i<=n-1;i++){cin>>u>>v;e[u].push_back(v);e[v].push_back(u);}flag=1;ans[1]=1;dfs(1,-1);for(int i=1;i<=n;i++){cout<<ans[i]<<" ";ans[i]=0;e[i].clear();}cout<<"\n";
}
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>t;while(t--)solve();return 0;
}

 

http://www.dt0577.cn/news/51903.html

相关文章:

  • matlab代做网站网站友情链接查询
  • 做调查问卷网站灰色关键词排名技术
  • 让人做网站需要注意什外链吧官网
  • wordpress数据转zblog关键词优化的作用
  • 南苑网站建设如何制作一个公司网站
  • 最方便建立网站b2b免费外链发布
  • 下模板做网站今日国际新闻10条
  • 设计师网站behance买卖网站
  • 网站防红怎么做的澎湃新闻
  • 五年级信息做网站的软件百度竞价推广培训
  • 如何查询某个网站的设计公司爱网站
  • 做网站的算什么行业seo工资
  • 建设政府网站的目的核心关键词和长尾关键词举例
  • 工业产品设计是科学技术与什么的融合搜索引擎优化是什么?
  • 有名网站建设公司搜索引擎关键词seo优化公司
  • wordpress 仿主题东莞关键词优化推广
  • 企业融资方式有哪几种seo好找工作吗
  • 建设企业网站收费吗北京网络优化推广公司
  • 我的世界外国做图网站seo关键词优化报价
  • php动态网站开发教学设计手机免费建网站
  • 做标志的网站爱链接购买链接
  • 有关网站开发的论文关键词林俊杰
  • 招聘类网站建设百度快照官网
  • 广州做网站 信科便宜seo搜索优化怎么做
  • 门户网站开发公司网络营销有哪些模式
  • 怎么网站制作林哥seo
  • 昆明做网站建设方案seo免费资源大全
  • wordpress 插件 留言网站seo排名公司
  • 十大电子商务网站seo整站优化解决方案
  • 南通网站定制企业网站优化排名易下拉排名