19.3.20 关于int与ll

1.如果一道题时间充足,把全部变量定义成long long

2.特别注意最上面宏定义的变量类型,特别是FOR

3.如果是int,用1LL* ......

**实例,让我崩溃

1 #include<bits/stdc++.h>
2 using namespace std;
3 #define rg register
4 typedef long long ll;
5 #define gmax(a,b) a=max(a,b)
6 #define gmin(a,b) a=min(a,b)
1 #define FOR(i,a,b) for(rg int i=a;i<=b;++i)
2 #define For(i,a,b) for(rg int i=a;i>=b;--i)

 1 #define gc pa==pb&&(pb=(pa=buf)+fread(buf,1,100000,stdin),pa==pb)?EOF:*pa++
2 static char buf[100000],*pa(buf),*pb(buf);
3 inline int rd()
4 {
5 rg int x(0),w(1);
6 rg char c(gc);
7 while(c<'0' || c>'9')
8 {
9 if(c=='-') w=-1;
10 c=gc;
11 }
12 while(c>='0' && c<='9') x=x*10+c-48,c=gc;
13 return x*w;
14 }
15
16 const int N=1000005;
17 const ll MOD=998244353,ny=499122177;
18 ll f[N],g[N],tn[N],jc[N];
19 int c[N],a[N],n;
20 ll ans;
21
22 void add(int x,int y)
23 {
24 for(;x<=n;x+=x&(-x)) c[x]+=y;
25 }
26
27 ll ask(int x)
28 {
29 ll res=0;
30 for(;x;x-=x&(-x)) res+=c[x];
31 return res;
32 }
33
34 int main()
35 {
36 freopen("sort.in","r",stdin);
37 freopen("sort.out","w",stdout);
38 n=rd();FOR(i,1,n) a[i]=rd();
39 jc[0]=1;FOR(i,1,n) jc[i]=(i*jc[i-1])%MOD;
1 FOR(i,2,n) f[i]=((i*f[i-1])%MOD+(1LL*i*(i-1)/2)%MOD*jc[i-1]%MOD)%MOD;

1     tn[1]=1;add(a[n],1);
2 FOR(i,2,n)
3 g[i]=ask(a[n-i+1]),add(a[n-i+1],1),
4 tn[i]=((g[i]*jc[i-1])%MOD+tn[i-1])%MOD;
5 FOR(i,1,n) ans=(ans+g[i]*f[i-1]%MOD+g[i]*(g[i]-1)%MOD*ny%MOD*jc[i-1]%MOD+g[i]*tn[i-1]%MOD)%MOD;
6 cout<<ans;
7 return 0;
8 }

21.10.26

队列是while(head < tail)

不是小于等于!!!!!

while ( hd < tl )

 1     {
2 ++hd;
3 xx=l[hd][0];yy=l[hd][1];
4 FOR(i,0,7)
5 {
6 xp=xx+dx[i];yp=yy+dy[i];
7 if((xp>=1)&&(xp<=n)&&(yp>=1)&&(yp<=m)&&(a[xp][yp]==-1))
8 {
9 a[xp][yp]=a[xx][yy]+1;
10 ++tl;l[tl][0]=xp;l[tl][1]=yp;
11 }
12 }
13 }

21.11.15

要注意防止while()大括号内可能出现不操作的情况造成死循环

while(len>1)
if(x[len]==0) --len;

**错误积累&&防止GG写法总结的更多相关文章

  1. Mysql错误积累001-load data导入文件数据出现1290错误

    错误出现情景 在cmd中使用mysql命令,学生信息表添加数据.使用load data方式简单批量导入数据. 准备好文本数据: xueshengxinxi.txt 文件  数据之间以tab键进行分割 ...

  2. C++ 错误积累

    错误一 VS2012错误:不能在成员函数  的类外部重新声明该函数 解决:检查函数的大括号匹配

  3. flex发生错误积累。每次遇到错误记录一点点

    error #2044: 未处理的 ioerrorevent: text=error #2036: 加载未完成 出现这个问题,因为我是要实现图片编辑裁剪,然后上传.没有上传成功,出现上面的这个错误, ...

  4. iOS开发 日常错误积累

    1.ios7 tableviewcell上面加入一个view,view上面有button,点击button不运行button的点击事件 解决的方法: self.view.userInteraction ...

  5. SpringBatch 错误积累

    1.如果nextStep在该JOB中还没有配置,也就是说nextStep还不存在的情况下,就会报错 <end on="EIXT WITH IMBALANCE" /> & ...

  6. SQL Server 致程序员(容易忽略的错误)

    标签:SQL SERVER/MSSQL/DBA/T-SQL好习惯/数据库/需要注意的地方/程序员/容易犯的错误/遇到的问题 概述 因为每天需要审核程序员发布的SQL语句,所以收集了一些程序员的一些常见 ...

  7. 关于编译Lambda时报告返回的为void的错误

    这个错误的信息是这样的: a lambda that has been specified to have a void return type cannot return a value 报告错误的 ...

  8. 诡异错误二:TypeError: data type not understood

    如何使用Python产生一个数组,数组的长度为1024,数组的元素全为0? 很简单啊, 使用zeros(1024) 即可实现! 如何产生一个2×1024的全0矩阵呢?是否是zeros(2,1024) ...

  9. SQL Server 容易忽略的错误

    一.概述 因为每天需要审核程序员发布的SQL语句,所以收集了一些程序员的一些常见问题,还有一些平时收集的其它一些问题,这也是很多人容易忽视的问题,在以后收集到的问题会补充在文章末尾,欢迎关注,由于收集 ...

  10. js数值大小判断的错误

    1.js中定义一个变量i,判断i的取值在[1,3]中的错误写法 if(1<= i <= 3) 假设js的值为4,浏览器在解析js时会先将1与4比较 ,显然1<= 4,返回结果为1,然 ...

随机推荐

  1. 什么是spring,它能够做什么?

    1.什么是SpringSpring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的. Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情. ...

  2. Kubernetes(二)资源管理

    1. 资源管理介绍 在kubernetes中,所有内容都抽象为资源,用户需要操作资源来管理kubernetes. Kubernetes本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服 ...

  3. 高通SOC启动流程

    背景 开始接手高通开发的有关工作,为了调试底层驱动,因此有必要了解高通平台上电启动的流程是怎么样的. 以 MSM8953 为例子. MSM:mobile station modems,移动基带处理器, ...

  4. 川普真会说中文?连嘴型都同步,VideoReTalking AI数字人下载介绍

    你能想到这种画面吗?霉霉在节目中用普通话接受采访,特朗普在老家用中文脱口秀,蔡明老师操着一口流利的英文调侃潘长江老师.. 这听起来似乎很魔幻,可如今全部由VideoReTalking实现了 你只需要传 ...

  5. Coding:小写一个debugfs

    Coding:小写一个debugfs ​ 上一次整活还是在上一个月,写了一个简单的module并且熟悉了module的挂载查看和卸载.这一次我们自然玩一个大的,就是利用linux的debugfs AP ...

  6. SQLServer的操作以及一些概念

    初始SQLServer 创建数据库 create database 数据库名 创建表 选择数据库 USE MyDb; 创建表 CREATE TABLE t_user ( id INT, usernam ...

  7. oeasy教您玩转vim - 23 - 配置文件

    配置文件 回忆上节课内容 我们上次找到配置文件的位置 ~/.vimrc 了解各种配置开关 修改配置文件并应用 这次想了解和配色方案相关的内容 colorscheme vi ~/.vimrc.old 中 ...

  8. oeasy教您玩转vim - 50 - # 命令行效率

    ​ 命令行效率 回忆上节课内容 总结 我们上次研究的是范围命令执行方法 批量控制缩进 :20,40> 批量执行普通模式下的命令 :4,10normal A; 直接切换到全屏命令模式 ex-mod ...

  9. 【JavaScript高级02】JavaScript第一大神兽:原型和原型链

    1,函数中的prototype属性 每个函数都会有一个属性prototy,该属性默认指向一个空Object对象,而这个空的Object对象被称之为原型对象. <script > conso ...

  10. 使用MySQL实现分布式锁

    分布式锁开发中经常使用,在项目多节点部署或者微服务项目中,JAVA提供的线程锁已经不能满足安全的需求,需要使用全局的分布式锁来保证安全:分布式锁的实现的方式有很多种,最常见的有zookeeper,Re ...