欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

dxw 枚举二分

时间:2024-05-11 15:10 作者:admin 点击:
简单算法: 枚举算法,二分法(二分查找,二分答案),快速排序,时空复杂度 高精度处理,快速幂,差分数组,前缀和数组 数据结构:栈,队列,链表,集合,优先队列,字典,可

简单算法:

枚举算法,二分法(二分查找,二分答案),快速排序,时空复杂度

高精度处理,快速幂,差分数组,前缀和数组

数据结构:栈,队列,链表,集合,优先队列,字典,可变数组,树,堆,图以及他们的算法

贪心算法

动态规划


A、B、C、D、E、X

互不相同的六个1位数

满足条件ABCDE*X=EDCBA,求各个数字

for(int a=0;a<10;a++){

for(int b=0;b<10;b++){

for(int c=0;c<10;c++){

for(int d=0;d<10;d++){

for(int e=0;e<10;e++){

for(int x=0;x<10;x++){

   if(abcdex互不相同){

       if((a*10000+b*1000+c*100+d*10+e)*x==(a*10000+b*1000+c*100+d*10+e)){

           cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<" "<<x;

       }

   }

}}}}}}

枚举算法:

1、列出所有可能性

2、通过条件筛出正确答案

又叫做暴力搜索

限制:1、列不出所有可能性,超时或者其他情况,2、条件不会写

作业:1965,1415


二分法

猜数字案例

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main(){

   srand(time(0));

   int a=rand()%100+1;//1~100

   int x=0;

   for(int i=1;i<=100;i++){

       if(i!=a){

           x++;

       }

       else{

           cout<<i<<" "<<x<<" "<<a;

           break;

       }

   }

   return 0;

}

二分法猜数字

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main(){

   srand(time(0));

   int a=rand()%100+1;//1~100

   int x=0;

   int l=1,r=100,mid;

   while(l<r){

       mid=(l+r)/2;

       if(mid==a) break;

       else if(mid>a) r=mid-1;

       else if(mid<a) l=mid+1;

   }

   if(l!=r) cout<<mid;

   else cout<<"NO";

   return 0;

}

二分法前提:数据答案的范围是有序

二分法流程:

1、找到数据的左右两端

2、只要答案范围内有多个数据,就找中点(分别判断 < = > 或 <= > 或 < >= 三种情况)


1240不是作业

int n,m;

int a[100050],b,ans;

int main(){

   cin>>n;

   for(int i=1;i<=n;i++) cin>>a[i];

   cin>>m;

   while(m--){

       cin>>b;

       各种算

       cout<<ans<<endl;

   }

}

int n,m;

int a[100050],b[100050],ans;

int main(){

   cin>>n;

   for(int i=1;i<=n;i++) cin>>a[i];

   cin>>m;

   for(int i=1;i<=m;i++) cin>>b[i];

   for(int i=1;i<=m;i++){

       b[i];

       各种算

       cout<<ans<<endl;

   }

}



(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%