卡常技巧
一般:
1. 思路清晰,簡化流程。
2. 數組訪問:
高位數組尋址優化。
訪問的內存盡量連續。
3. 少用除法、取模。
4. 重復運算,存入臨時變量。
5. 循環展開,刺激 CPU 並行。展開次數過多,性能會下降,因為寄存器不夠用。
6. 讀入優化,輸出優化。
分塊:
1. 調整塊大小。
FFT:
1. 減小循環長度。
2. 兩次 FFT ,complex(a[] + b[], a[] - b[]) 自乘。
遞歸:
1. 改寫非遞歸。例如並查集,例如歐幾裏得算法,等等。
STL:
1. 手寫。
卡常技巧
相關推薦
卡常技巧
com nbsp 過多 [] 連續 性能 寄存器 位數 自乘 一般: 1. 思路清晰,簡化流程。 2. 數組訪問: 高位數組尋址優化。 訪問的內存盡量連續。 3. 少用除法、取模。 4. 重復運算,存入臨時變量。 5. 循環展開,刺激 CPU 並行。展開次數過多,性
一些卡常技巧
取模運算 n) urn 展開 ret 臨時 scan 速度 方法 什麽?你說這些東西沒用? 那你就大錯特錯了。WC考過的東西怎麽可能沒用 開O2之後FFT會比不開快幾倍 不開O2:NTT比FFT快 開O2:FFT比NTT快 常數盡量聲明成常量 有一道NTT的
卡常數技巧整合
inline pos turn 整理 urn 常數 整合 span bool 整理一些不太過分的卡常數技巧 1.bzoj4574 ZJOI2016:確定數據不會爆longlong的情況下把所有東西都開成longlong最後取模 2.O2下取模優化(一堆題) inline
【bzoj3240 && 洛谷P1397】矩陣遊戲[NOI2013](矩陣乘法+卡常)
queue tle ext 矩陣乘法 gin click -- 常數 dot 題目傳送門:http://www.lydsy.com/JudgeOnline/problem.php?id=3240 這道題其實有普通快速冪+費馬小定理的解法…&helli
Codeforces 988D Points and Powers of Two 【性質】【卡常】
cout force 大於 codeforce ces com CI ORC size 這道題關鍵在於想到兩個性質,想到就好做了。這還是我做過的第一道卡常題 1.滿足題目中條件的子集,其中元素個數不能大於3 2.如果最大子集為3的話,那一定是x-2^i, k, x+2^
bzoj4028 [HEOI2015]公約數數列(分塊+卡常?)
bubuko .com 代碼 一個 zoj wid eight height 約數 被卡常卡到懷疑人生。 思維又難又卡常(可能是我寫的太醜了)心態炸了。 最後還是照題解打的。(題解多了一個排序,似乎快了很多) 所以代碼就不發了。。。 bzoj4028 [HEOI201
卡常模板
lin fin using 卡常 pin clu tpi cti putchar 卡常模板,必背 1 #pragma GCC optimize(1) 2 #pragma GCC optimize(2) 3 #pragma GCC optimize(3) 4 #in
卡常神器——register 與 快速讀入輸出
可能 () amp 很多 服務 char 讀取 get 裏的 快速讀入模板 int read() { int s = 0, w = 1; char ch = getchar(); //getchar() 一次從鍵盤讀入一個字符 while (ch &
卡常小tips
getchar while () ++ return har lin urn ret 應AZe要求寫一個小tipsqwq 快讀: inline int qr(){ int x=0, f=1; char ch=getchar(); for(;!isdi
【CodeForces - 1027C】Minimum Value Rectangle (數學,公式化簡,思維,卡常卡memset)
題幹: You have nn sticks of the given lengths. Your task is to choose exactly four of them in such a way that they can form a rectangle.
牛客網noip賽前集訓 提高組第4場 T2 區間 單調求解法,卡常
文章目錄 題意 $40$分做法. $90$分做法 滿分解法 非常簡單的一場了,然而我T1巧妙地寫萎把 l
5037 線段樹練習4加強版 分塊(卡常)
/** 5037 線段樹練習4加強版 連結:http://codevs.cn/problem/5037/ op 1 區間修改 op 2 區間多少個數為k的倍數; 依據資料範圍:可記錄每個塊內每個數字出現的次數 區間加操作,完整塊依舊0(1),非完整塊 直接暴力即
時間、空間、卡常
1.時間複雜度上限1e8左右 2. 32MB對應大約1e7個數據 3.函式前加inline 更快一點 4.輸入、輸出優化 5.位運算很快 6.正負號轉換 : i = -i 改為 i = ~i + 1 更快 7.取膜:x = 131 % 4 改為
一個坑-卡常
#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<vector> #include<iostream
2018 ICPC Asia Qingdao Regional Contest, Online 青島,C Halting Problem 模擬 + 卡常
傳送門 題意: 圖靈測試是判斷一個程式能不能最終停止執行,還是永遠迴圈下去的一個概念。給你n行命令,一個變數r初始時為0,每次add後都對256取模,除了add相加命令外其餘的都是判斷符不符合某條件來決定跳轉去第k行執行命令還是不跳轉繼續執行下一行命令。如果程式最終會試圖
2018.12.5【WC2017】【LOJ2286】【洛谷P4604】挑戰(卡常)
洛谷傳送門 LOJ傳送門 解析: 目前LOJ速度rank1。但是洛谷上面有兩個40msAC的在我前面(空間還小的出奇,估計連排序的陣列都存不下)。。。估計是面向資料程式設計。。 說明:博主是一個高一OIER,沒有認真學過大學電腦科學課程,如果題解中有任何地方不嚴謹,
【NOIP 校內模擬】T1 優美的序列(二分+st表+卡常)
我是菜雞 我是蒟蒻 我好菜 ak一定是區間最小的值,且是所有數(包括自己)的最大公約數 我沒看出來 沒救了 noip爆零了 回家養豬了 沒學上了 怎麼辦 gcd有單調性 gcd有單調性 gcd有單調性 gcd有單調性 gcd有單調性 可以二分 可以二分 可以二分 可以二分 要說多少遍才記得到 我沒想到 沒救了
【BZOJ】4643 卡常大水題【bitset優化bfs】
題目連結:卡常大水題 #include <bits/stdc++.h> using namespace std ; typedef long long LL ; typedef pair < int , int > pii ; t
BZOJ4836: [Lydsy1704月賽]二元運算【分治FFT】【卡常(沒卡過)】
Description 定義二元運算 opt 滿足 現在給定一個長為 n 的數列 a 和一個長為 m 的數列 b ,接下來有 q 次詢問。每次詢問給定一個數字 c 你需要求出有多少對 (i, j) 使得 a_i opt b_j=c 。 Input 第一行是一個整數 T (1≤T≤10) ,表示測
其他-一些自己總結的卡常技巧
偶然發現自己程式碼的常數還算小? 於是乎總結了一下自己發現的一些常數技巧(還沒寫完,後續會更) 各位看官請耐心看完……前面都是大家知道的,後面會寫些自己發現的東西 register 將變數放在暫存器內,每次訪問速度更快 定義在變數前(如:register int i=1;) 暫存器大小有