首页 > 其他分享 >【警钟撅烂】1

【警钟撅烂】1

时间:2024-01-26 20:25:56浏览次数:32  
标签:定义 int ll CE 警钟 long

警示后人

定义结构体之后记得加分号!!!

事件事故概述

2024年1月1日17点52分记

某人尝试速通Febonacci矩阵加速递推
定义结构体后没加分号
导致CE
若至错误调试耗时15分钟

PS:加上分号后无编译AC,当事人非常开心

以上,引以为戒

(附CE代码)

#include<bits/stdc++.h>
using namespace std;

#define ll long long

const ll mod = ((ll)1e9+7) ;

struct Matrix 
{
    ll g[3][3];
    void init()
    {
        for(int i=1;i<=2;i++)
        {
            g[i][i]=1;
        }
    }
    void clear()
    {
        memset(g,0,sizeof(g));
    }
}

Matrix operator* (Matrix a,Matrix b)
{
    Matrix ans;
    ans.clear();
    for(int i=1;i<=2;i++)
    {
        for(int j=1;j<=2;j++)
        {
            for(int k=1;k<=2;k++)
            {
                ans.g[i][j]+=(a.g[i][k]*b.g[k][j])%mod;
                ans.g[i][j]%=mod;
            }
        }
    }
    return ans;
}

Matrix qpow(Matrix a,ll n)
{
    Matrix ans;
    ans.clear();
    ans.init();
    while(n)
    {
        if(n&1)
        {
            ans=ans*a;
        }
        a=a*a;
        n>>=1;
    }
    return ans;
}

int main()
{
    ll n;
    cin>>n;
    if(n<=2) 
    {
        cout<<1;
        return 0;
    }
    n-=2;
    Matrix origin;
    origin.clear();
    origin.g[1][1]=1;
    origin.g[1][2]=1;
    Matrix base;
    base.clear();
    base.g[1][1]=0;
    base.g[1][2]=1;
    base.g[2][1]=1;
    base.g[2][2]=1;
    Matrix output=qpow(base,n);
    output=origin*output;
    cout<<output.g[1][2];
    return 0;
}

标签:定义,int,ll,CE,警钟,long
From: https://www.cnblogs.com/yeyou26/p/17990607

相关文章

  • 【警钟撅烂】3
    正在完成线性基板子题始终WA#2#3#4#5百思不得其解遂撅洛谷讨论区,得前人警示:位运算记得打括号补上括号,遂AC以上,警钟长鸣附WA代码#include<bits/stdc++.h>usingnamespacestd;#definellunsignedlonglonglld[100];intn;voidInsert(llx){ for(inti=62;i......
  • 【警钟撅烂】5
    2024年1月24日15点49分正在完成高斯消元板子题ALL#WA翻出董晓逐行比对一眼丁真遂发现判断无解时括号打歪了if(fabs(a[i][i]<eps))蒸乌鱼解决此问题耗时20min以上,警示后人附WA代码#include<bits/stdc++.h>usingnamespacestd;constdoubleeps=0.000001;const......
  • 警钟敲烂
    以下是作者考场上遇到过的挂分的原因:空间开小,空间开大直接MLE。忘记判无解。忘开longlong。本地与评测机的环境不同导致的错误,包括:sizet的返回值是long,这东西在32位机上是int,在64位机上是longlong,因此如果出现在max/min中一定要强转类型,不然很有可能C......
  • 千里之堤溃于蚁穴,质量问题警钟长鸣
    千里之堤溃于蚁穴,质量问题警钟长鸣是能用就行,还是精益求精?水文一篇,一点点小感慨。事情缘由如下:缘起早上来,打开代码就看到了一个提交。改动上没啥问题,不过用到了ES2015的新语法,老旧浏览器上语法不识别,会直接导致整个文件挂掉,马上通知了开发立即修复。之所以对这个问题这......
  • 警钟长鸣
    变量名记得不要起得太常见,容易被CE\(!=\)优先级大于^滚动数组要记得清零背包问题的状态设计是刚好全部装满的,最后答案需要遍历求\(\text{max}\)当统计方案数时,记得关注方案是否重复设定最小/最大值时,看一下这个值是否足够小/足够大一定要记得开longlong!......
  • 警钟长鸣-----找零钱
    蒟蒻的我在这个题上花了40分钟还超时了(悲不说了先上超时的代码:1#include<bits/stdc++.h>2usingnamespacestd;3intres,n,a[]={1,2,5,10,20,50,100},x;4voiddfs(intst,intnum,intid)5{6if(st==0){res++;return;}7if(st<0||num>100||id>6)r......
  • “人工智能教父”从谷歌离职!称后悔发展AI,为世人敲响警钟?
       在加入谷歌的第十年、深度学习迎来爆发式发展的当下,被誉为“人工智能教父”的GeoffreyHinton已从谷歌离职,只是为了告诫人们AI已经变得很危险。    公开资料显示,GeoffreyHinton在2013年加入谷歌,曾任副总裁,研究机器学习算法十多年,把深度学习技术带进了谷歌的多项业务,直接......
  • 一年一度3·15,个人信息保护再敲警钟
    一年一度的3·15消费者权益保护日如约而至,在央视3·15晚会上,共有10余件有损消费者权益的事件被曝光。然而,深究其背后原因,个人信息的泄露,是造成这些损害的源头。骗局背后是个......
  • 警钟敲烂
    关同步流放freopen后面!关同步流之后别混用!别写fclosefreopen("game.in","r",stdin);freopen("game.out","w",stdout);cin.tie(0);ios::sync_with_stdio(false);......
  • 警钟长鸣
    警钟长鸣2022.9.28在写可持久化线段树时tree[rt[vi]]写成tree[vi].注意数组编号对应关系2022.10.12vector存图遍历写了for(inti=g.size()-1;i>=g.size()-3;i--)g......