关于O2优化

关于O2优化一 Ox 优化 Ox x 取 123 主要是对代码大小的优化 我们基本不用做更多的关心 通常各种优化都会打乱程序的结构 让调试工作变得无从着手 并且会打乱执行顺序 依赖内存操作顺序的程序需要做相关处理才能确保程序的正确性 二 具体优化内容 O0 不做任何优化 这是默认的编译选项

大家好,我是讯享网,很高兴认识大家。

一、Ox优化

Ox(x取123)主要是对代码大小的优化,我们基本不用做更多的关心。
通常各种优化都会打乱程序的结构,让调试工作变得无从着手。
并且会打乱执行顺序,依赖内存操作顺序的程序需要做相关处理才能确保程序的正确性。

二、具体优化内容

-O0: 不做任何优化,这是默认的编译选项。

-O2优化能使程序的编译效率大大提升,从而减少程序的运行时间,达到优化的效果。

三、O2优化具体代码

#pragma GCC optimize(1) #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofast","inline") 

讯享网

以上内容来自Code92007
个人主页传送门
原博客传送门


讯享网

四、具体应用

讯享网#include<bits/stdc++.h>  using namespace std; int main() { 
    int a[500]={ 
   0},m,s,n,i,j,l,t,st,en; cin>>m>>s>>n; en=0,st=s; for(i=1;i<=n;i++) { 
    cin>>t; a[t]=1; if(t<st) st=t; if(t>en) en=t; } int tmp=1,c[500]={ 
   0}; for(i=st;i<=en;i++) { 
    if(a[i]==1&&i!=en) { 
    j=i+1; while(a[j]==0&&j<=en) { 
    c[tmp]++; j++; } tmp++; } } tmp--; sort(c+1,c+tmp+1); l=en-st+1; for(i=tmp;i>=tmp-m+2;i--) { 
    l=l-c[i]; } cout<<l; return 0; } 

在这里插入图片描述
加入O2优化

#pragma GCC optimize(1) #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofast","inline") #include<bits/stdc++.h>  using namespace std; int main() { 
    int a[500]={ 
   0},m,s,n,i,j,l,t,st,en; cin>>m>>s>>n; en=0,st=s; for(i=1;i<=n;i++) { 
    cin>>t; a[t]=1; if(t<st) st=t; if(t>en) en=t; } int tmp=1,c[500]={ 
   0}; for(i=st;i<=en;i++) { 
    if(a[i]==1&&i!=en) { 
    j=i+1; while(a[j]==0&&j<=en) { 
    c[tmp]++; j++; } tmp++; } } tmp--; sort(c+1,c+tmp+1); l=en-st+1; for(i=tmp;i>=tmp-m+2;i--) { 
    l=l-c[i]; } cout<<l; return 0; } 

在这里插入图片描述

五、详细了解

传送门

小讯
上一篇 2025-03-17 12:08
下一篇 2025-01-27 11:19

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/28768.html