首页 > TAG信息列表 > 卡常

卡常小技巧

那些也许有用的卡常小技巧 作者卡Ynoi卡吐了 一,代码优化 1.inline 其实还是有点用的。 不带inline: 带inline: 2.register 注意有些不能加,但优化程度还是很大的。 不带register: 带register: 3.i++ $ \Rightarrow $ ++i 但是优化很小,如果只差一点可以加上后多跑几遍,增大卡过的

8.5-8.21小记

逸一时误一世了属于是。咕咕咕很久的总结。 因为下午就开学了,只能这样写。 好题 算法 大致感悟 CF1098E 万能欧几里得 初见这算法,以后有时间补个学习笔记 CF1178G 分块+凸包 更会写凸包了,注意了一些细节 [CTS2019] 珍珠 EGF,二项式反演 我觉得很套路 CF1264D2 组合计

P2403 [SDOI2010]所驼门王的宝藏 题解(Tarjan+SPFA)

事实证明,卡常是可以过的。 这题无需排序,无需用哈希代替 map,只要卡常到位就能过。 首先暴力建图是不可取的,很容易卡。所以我们要考虑优化。 第三种门显然只能暴力建边,至于前两种的话,由于那些同类型且在同行(如果是第二种门的话就是同列)的门互相可以到达,考虑把他们建成一个环,再让其中

基本卡常

本文将会持续更新 卡时间 预处理指令和编译 O2 O2 是最常见的一种优化,基本来说有两种使用方式,第一种是在编译时加上-o2选项,例如编译a.cpp时,使用 O2 。 g++ a.cpp -o a.exe -o2 即可。 第二种方法是在预处理指令中添加 O2 ,即在代码首行添加如下指令: #pragma GCC optimize(2) 火车

卡常技巧

普通快读快写: long long rd(){char ch=getchar();long long x=0,f=1;while(ch<'0' || ch>'9'){if(ch=='-') f=-1;ch=getchar();} while('0'<=ch && ch<='9'){x=x*10+ch-'0&#

丽泽普及2022交流赛day29

鸡兔同笼 良心出题人黄队 黄队的宫殿 猛 ♂ 股扭奶 第四题竟然被卡常了

JOISC2017D1T1 开荒者 | LOJ 2390

被这弔题搞了两个晚上,麻了 sol 记向左 \(l\) 步,向右 \(r\) 步,向上 \(u\) 步,向下 \(d\) 步,发现对于一个点,在 \((l,r,u,d)\) 确定的情况下,所成的矩形是一样的,即操作顺序并没有关系,不妨先考虑 \(l,r\) 枚举 \(l+r=s\),一个点就会变成一个长为 \(s+1\) 宽为 \(1\) 的矩形。把草原看作无

卡常过黑题(众所周知的题目CF896E)

洛谷有到大水题, 不知卡常肯定急。 暴力卡常绝对过, 一切都是像放屁。 (如此水的打油诗) 不闹了,先上代码细细品吧 #pragma GCC optimize("Ofast,no-stack-protector") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #include<bits/stdc++.h>

分块入门&卡常小技巧

分块 基本分块 分块是优美的暴力,就是把一个序列分成多块来处理,每次维护块,边缘不是整块的地方暴力处理 如果我们设块长为B,则有 维护复杂度为\(\frac{n}{B}+B\) 查询复杂度为\(\frac{n}{B}+B\) 结合数学知识,我们很容易发现\(B=\sqrt n\)时,效率最高,总复杂度为O(\((n+m)\sqrt n\)),这

noip模拟76

考场 看见 \(t4\) 是矩阵,心里偷笑上次考这套题还顺便看了看这道题的题解,于是半个小时写,半个小时调,终于过了大样例,自信提交——此题目不存在 $#!@ 于是开始认真模拟 \(t4\) \(n=5\) 的情况,结果把一步回去看成相距一格,给推错了…… 于是寻找新的目标,看见 \(t1\) 比较可做,于是两个半

卡常必备

#pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optimize("-fgcse-lm") #pragma GCC optimize("-fipa-sra"

C++卡常之i++ ——> i=-~i

前置知识: 原码表示法是整数的一种简单的表示法,符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。整数的反码可由原码得到,如果是正数,则反码与原码一样;如果是负数,则反码是对它的原码(符号位除外)各位取反而得到的。整数的补码可由原码得到。如果是正数,则补码与原码一样;如果是

模拟37 考试总结

状态有所回升??? 考试经过 开题,T1似乎是水题,两个枚举配一个二分,半小时过掉大样例提交带走 T2先写了个爆搜,看了看第二个样例给跑了两分钟,愤而投身正解。。。发现值域不是很大,想到枚举之后去重,于是开始乱搞,两个半小时的时候终于搞出来了,看了看复杂度是\(O(nm\sqrt m)\)的,估计过不去最后

卡常相关

卡常太难了 链接:论OI中各种玄学卡常 卡常常识 为何卡常?什么时候要卡常? 通常像分块,莫队等等这样的根号算法以及某些常数巨大的算法(如 Splay 等)可能会被卡常。考试的时候非正解算法有时卡常能够拿到更多的分数(尤其是面对数据不是非常大,算法又常常跑不满的时候,可能会 \(n^2\) 过一

卡常火车头

#pragma GCC diagnostic error "-std=c++11" #pragma GCC target("avx") #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optimize(

卡常火车头

#pragma GCC diagnostic error "-std=c++11" #pragma GCC target("avx") #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optimize(

卡常技巧

前言 本文会不定时更新。 快读 这是利用$getchar$来优化 inline int read(){ register int x=0,v=1,ch=getchar(); while(!isdigit(ch)){if(ch=='-')v=-1;ch=getchar();} while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^'0');ch=getchar();}                 //与x=

c++卡常技巧

c++卡常技巧 ++i快于i++ int x(5) 快于int x = 5 尽力减少除法运算 善用#define register 修饰符暗示 : 编译程序相应的变量将被频繁地使用,如果可能的话,会将其保存在CPU的寄存器中,以加快其存储速度 祝各位巨佬AK CSP

卡常技巧

火车头 #pragma GCC diagnostic error "-std=c++11" #pragma GCC target("avx") #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optim

卡常全家桶

#pragma GCC optimize(1) #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optimize("-fgcse-lm") #pragma GCC optim

卡常技巧

来个代码 #include<bits/stdc++.h> #define O3 __attribute__((optimize("-O3"))) #define O2 __attribute__((optimize("-O2"))) #define setIO(s) freopen(s".in","r",stdin) , freopen(s".out","w",stdout