首页 > 其他 > 详细

Codeforces Round #672 (Div. 2)9月24号思维(时间复杂度)A+位运算二进制B+动态规划C

时间:2020-09-26 09:33:50      阅读:58      评论:0      收藏:0      [点我收藏+]

A. Cubes Sorting

技术分享图片

 

 题意:给一个数组,只能相邻两两交换排序,问排序的次数是否超过n(n-1)/2-1,超过则输出no没超过输出yes;

思路:看起来这是一个冒泡排序,但我们知道,冒泡排序最坏的情况的时间复杂度是n*(n-1)/2,刚好比题意中大,所以只有当这个数组严格降序的时候才会不符合,所以只用判断是不是严格降序就ok了。

 1 #include <bits/stdc++.h>
 2 #define  int long long
 3 #define IOS ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
 4 const int maxn=5e4+50;
 5 const int INF=0x3f3f3f3f;
 6 int a[maxn];
 7 using namespace std;
 8 signed main(){
 9   IOS;
10   int t;cin>>t;
11   while(t--){
12   
13   int n;
14       cin>>n;
15       for(int i=0;i<n;i++)cin>>a[i];
16       int flag=0;
17       for(int i=0;i<n-1;i++){
18           if(a[i]<=a[i+1]){
19               flag=1;break;
20           }
21       }
22       //for(int i=0;i<n;i++)cout<<a[i]<<" ";
23      
24       if(flag==1)cout<<"yes"<<\n;
25       else cout<<"no"<<\n;
26 }
27  return 0;
28 }

B. Rock and Lever

技术分享图片

 

 技术分享图片

 

 题意:给一个数组求i<j且a[i]&a[j]>=a[i]^a[j];

思路:当转化的二进制位数相同的时候,符合题意(至于为什么,看到了一个解释的很好的)看这里

把每个数转化二进制最多32位吧,然后如果有n个相同的位数,就加上n(n-1)/2

#include <bits/stdc++.h>
#define  int long long
#define IOS ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
const int maxn=2e5+50;
const int INF=0x3f3f3f3f;
using namespace std;
int a[maxn];
signed main(){
  IOS;
 int t;cin>>t;
 while(t--){
     int n;cin>>n;
     int b[32];
     for(int i=0;i<=32;i++)b[i]=0;
     for(int i=0;i<n;i++){
        cin>>a[i];
        int j=0;
        while(a[i]){
            a[i]/=2;
             j++;
         }
         b[j]++;//cout<<b[j]<<"&&"<<j<<" ";
         }
     int ans=0;
     for(int i=1;i<=32;i++){
         if(b[i]>1){    
         int cnt=b[i];
        ans+=cnt*(cnt-1)/2;
         }
     
     }
     cout<<ans<<\n;
 }
 return 0;
}

 

 

 

C1. Pokémon Army (easy version)

 

Codeforces Round #672 (Div. 2)9月24号思维(时间复杂度)A+位运算二进制B+动态规划C

原文:https://www.cnblogs.com/ahijing/p/13733104.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!