国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

算法競(jìng)賽個(gè)人注意事項(xiàng)

這篇具有很好參考價(jià)值的文章主要介紹了算法競(jìng)賽個(gè)人注意事項(xiàng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

淺淺記錄一下自己在算法競(jìng)賽中的注意事項(xiàng)。

數(shù)據(jù)類(lèi)

注意看數(shù)大小,數(shù)學(xué)庫(kù)中的函數(shù)盡量加上 * 1.0,轉(zhuǎn)成double,防止整型溢出。,int型相乘如果可能溢出,乘 * 1LL。

數(shù)據(jù)范圍大于1e6,注意用快讀。

浮點(diǎn)數(shù)輸入輸出:

少用float
scanf("%lf", &d);
printf("%.f",d)

取模,注意取成負(fù)數(shù)的情況。

int,但是數(shù)據(jù)太大,全轉(zhuǎn)long long。

#include <iostream>
using namespace std;
#define int lnog long
signed main() // 注意 int -> signed
{
}

行末無(wú)空格

cout<<data<<" \n"[i == n];

數(shù)據(jù)存儲(chǔ)盡量不要自定義struct或者class,善于使用pair,array等,防止需要重載什么的,導(dǎo)致代碼層面的錯(cuò)誤。

多組注意清空。

樹(shù)結(jié)構(gòu)注意單邊和雙邊。

STL

STL 常用算法_golitter.的博客-CSDN博客

熟悉stl的數(shù)據(jù)結(jié)構(gòu),string, map, set,queue, stack, priority_queue, vector,array等。

熟悉stl的算法函數(shù)

lower_bound()
upper_bound()

find()
count()
substr()
*max_element()
sort()
unique()

在c++11中,max和min函數(shù)可以多個(gè)值。

max({v1,v2,v3,v4})

優(yōu)先隊(duì)列的重載

// 用priority_queue 自定義堆 http://www.cbww.cn/news/37826.shtml
//      要重載 < 操作符 ,注意兩個(gè)const才可以通過(guò)編譯
// 方法一 重載運(yùn)算符<
struct adt { // 小頂堆
    int a;
    bool operator<(const adt& rhs) const { // 優(yōu)先隊(duì)列的><與sort的><相反. ** 沒(méi)有const會(huì)報(bào)錯(cuò)
        return a > rhs.a; // 這里 從大到小進(jìn)行排序,隊(duì)列從最右邊開(kāi)始,所以是小頂堆
    }
};
// 方法二 使用lambda表達(dá)式
void test_priority_queue() {
    auto cmp = [](int pre, int suf) { return pre > suf; }; // 小頂堆
    priority_queue<int,vector<int>, decltype(cmp)> pq(cmp); // decltype 類(lèi)型說(shuō)明符

    // 實(shí)現(xiàn)自定義PII堆結(jié)構(gòu)
    auto pii_cmp = [](PII pre, PII suf) {return pre.vf < suf.vf; };
    priority_queue<PII, vector<PII>, decltype(pii_cmp)> heap(pii_cmp);

}

<bitset> * 是由int型拼接的, e.g. 1000位bitset 操作時(shí)間復(fù)雜度 O( 1000 / (大于等于 32))

熟悉運(yùn)用pair<int,int>,vector

vector重新賦值

vector<int> ve;
ve.assign(N,3)

整數(shù)取整,可以用(LL)(ceil(a / b)),也可以用a / b + (a % b == 0 ? 0 : 1)。也可以用(a + b - 1) / b(感覺(jué)這個(gè)更簡(jiǎn)便一些。

lambda表達(dá)式的使用:

  • 自定義排序
sort(all(ve), [](int pre, int suf) {
	return pre > suf; // 從大到小
});
// 等價(jià)于
sort(all(ve), greater<int>());
  • 寫(xiě)函數(shù)
auto lam = [&](int a) -> int {
	if(a > 0) return 1;
	else if(a == 0) return 0;
	else return -1;
}

注意lambde遞歸用法,c++11可以用

functional<void(int)> dfs = (int u) {};

c++14可以用

auto dfs = [&](auto &&dfs, int u) -> void {};

創(chuàng)建數(shù)組,個(gè)人常用vector

vector<vector<int>> f(n, vector<int> (n, 1));

算法代碼實(shí)現(xiàn)

個(gè)人算法模板整理:2022/Algorithm__Template at main · golitter/2022 (github.com)

算法競(jìng)賽個(gè)人注意事項(xiàng),算法題,My學(xué)習(xí)之路,算法

不定項(xiàng)輸入

// 需要包含 <sstream>
stringstream put_str;
string str;
getline(cin, str);
put_str<<str;
int cnt = 0,p;
while(put_str>>p) cnt++;

二分答案

  • 最大值最小
int l, r;
while(l < r) {
	int mid = l + r >> 1;
	if(check(mid)) r = mid;
	else l = mid + 1;
}
  • 最小值最大
int l, r;
while(l < r) {
	int mid = l + r + 1 >> 1;
	if(check(mid)) l = mid;
	else r = mid - 1;
}

去重離散化

vector<int> a,id,last;
id = a;
sort(id.begin(), id.end());
id.erase(unique(id.begin(), id.end()), id.end()); // 去重
for(int i = 0; i < n; ++i) {
	last[i] = lower_bound(id.begin(), id.end(), a[i]) - id.begin();
}

建圖

  • 鏈?zhǔn)角跋蛐?/li>
// 鏈?zhǔn)角跋蛐?/span>
int h[N]; // 鏈表頭,初始為-1 memset(h, -1, sizeof(h));
int e[N]; // 鏈表內(nèi)容
int ne[N]; // 鏈表中指向下一個(gè)元素的指針
int w[N]; // 鏈表內(nèi)容的權(quán)重
bool vis[N];
int idx; // 
// <u   , -- c -- , v>  ( u --- w --> v
void add(int u, int v, int c) {
    e[idx] = v, w[idx] = c, ne[idx] = h[u], h[u] = idx++;
}
  • vector<pair<int,int>> 或者 vector<array<int,2>>
vector<vector<int>> g(n + 1); // 無(wú)權(quán)重w
vector<vector<pair<int,int>>> g(n + 1); // 有權(quán)重

時(shí)間復(fù)雜度

1e8大概1秒。

算法競(jìng)賽個(gè)人注意事項(xiàng),算法題,My學(xué)習(xí)之路,算法

注意調(diào)和級(jí)數(shù)等反直覺(jué)時(shí)間復(fù)雜度。

注意根據(jù)給的數(shù)據(jù)范圍和特殊性猜解法。

刷題策略

30分鐘沒(méi)有思路就可以看題解了,不能沒(méi)有思路就看題解。

刷題 + 寫(xiě)題解 提高較快,便于復(fù)習(xí)(雖然不復(fù)習(xí)

每次模擬賽要有總結(jié)和反饋。

平時(shí)要注意找到自己模擬賽時(shí)的不好的狀態(tài)和好的狀態(tài),進(jìn)行加強(qiáng)或減少。比如,我就是做題,想出來(lái)一點(diǎn)就去敲代碼,之后再想剩下的算法。其實(shí)這是很不對(duì)的,算法競(jìng)賽主要考察的算法而不是什么代碼,目前也在一直減少這個(gè)狀況發(fā)生。

就算自己AC了題,也不要忘了去看看大佬們的代碼,可能他們更加簡(jiǎn)潔,可以學(xué)學(xué)不同的思路等。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-704442.html

到了這里,關(guān)于算法競(jìng)賽個(gè)人注意事項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 個(gè)人首次使用UniAPP使用注意事項(xiàng)以及踩坑

    個(gè)人首次使用UniAPP使用注意事項(xiàng)以及踩坑

    uni-create-view 快速nui-app頁(yè)面的 uni-helper uni-app代碼提示的 uniapp小程序擴(kuò)展 鼠標(biāo)懸停查文檔 TypeScript Vue Plugin (Volar) Vue Language Features (Volar) Eslint Prettier 禁用 Error Lens 行內(nèi)提示報(bào)錯(cuò) Turbo Console Log 打log插件 Code Spell Checker 檢查拼寫(xiě)插件 files.associations 官網(wǎng)解釋: https://cn.vuejs.org/guide/t

    2024年02月11日
    瀏覽(24)
  • 2023年高教社杯全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽參賽事項(xiàng)注意

    2023年高教社杯全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽參賽事項(xiàng)注意

    一年一度的數(shù)學(xué)建模國(guó)賽要來(lái)啦!??!小編仔細(xì)閱讀了比賽官方網(wǎng)站上的規(guī)則和要求,以及比賽的題型和時(shí)間安排,現(xiàn)總結(jié)分享給大家。 小編將會(huì)在開(kāi)賽后第一時(shí)間發(fā)布選題建議、所有題目的思路解析、相關(guān)代碼、參考文獻(xiàn)、參考成品論文等多項(xiàng)資料,幫助大家取得好成績(jī)哦

    2024年02月09日
    瀏覽(41)
  • 2023 年(MCM/ICM)美國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽參賽規(guī)則及注意事項(xiàng)

    2023美賽參賽規(guī)則及注意事項(xiàng)正式發(fā)布,快跟隨我來(lái)一起看一看。 注意事項(xiàng): ? COMAP 比賽時(shí)間為美國(guó)東部時(shí)區(qū):除注明當(dāng)?shù)貢r(shí)間外,本說(shuō)明中給出的所有時(shí)間均以東部標(biāo)準(zhǔn)時(shí)間(EST)為準(zhǔn)。 1.輔助報(bào)名截止時(shí)間: 北京時(shí)間 2023 年 2 月 17 日 00:00 2.比賽時(shí)間:? (北京時(shí)間:

    2024年02月15日
    瀏覽(20)
  • 學(xué)習(xí)Linux的注意事項(xiàng)(使用經(jīng)驗(yàn);目錄作用;服務(wù)器注意事項(xiàng))

    學(xué)習(xí)Linux的注意事項(xiàng)(使用經(jīng)驗(yàn);目錄作用;服務(wù)器注意事項(xiàng))

    本篇分享學(xué)習(xí)Linux過(guò)程中的一些經(jīng)驗(yàn) Linux嚴(yán)格區(qū)分大小寫(xiě) Linux中所有內(nèi)容以文件形式保存 ,包括硬件,Linux是以管理文件的方式操作硬件 硬盤(pán)文件是 /dev/sd[a-p] 光盤(pán)文件是 /dev/sr0 等 對(duì)于設(shè)置需要寫(xiě)入文件,命令行的設(shè)置在重啟之后就會(huì)失效,只有下入文件才可以保存下來(lái) 文

    2024年02月11日
    瀏覽(48)
  • 藍(lán)橋杯攻略大全 | 學(xué)習(xí)路線(xiàn) | 注意事項(xiàng)

    藍(lán)橋杯攻略大全 | 學(xué)習(xí)路線(xiàn) | 注意事項(xiàng)

    藍(lán)橋杯 攻略 一.語(yǔ)法基礎(chǔ) 想?yún)⒓铀惴ǜ?jìng)賽就必須會(huì)使用一門(mén)編程語(yǔ)言,編程語(yǔ)言是競(jìng)賽的基礎(chǔ),如果你還沒(méi)有學(xué)習(xí)編程就想?yún)⒓铀{(lán)橋杯,那么我建議你先去學(xué)習(xí)一門(mén)編程語(yǔ)言,這里推薦C/C++,因?yàn)镃語(yǔ)言更適合算法競(jìng)賽,java這種嚴(yán)謹(jǐn)?shù)恼Z(yǔ)言更適合做項(xiàng)目使用,不過(guò)如果你已經(jīng)

    2024年02月03日
    瀏覽(13)
  • 機(jī)器學(xué)習(xí)21:機(jī)器學(xué)習(xí)工程落地注意事項(xiàng)-I

    目錄 ?1.靜態(tài)訓(xùn)練與動(dòng)態(tài)訓(xùn)練 1.1 如何選擇訓(xùn)練方式? 2.靜態(tài)與動(dòng)態(tài)推理

    2024年02月12日
    瀏覽(20)
  • ROS學(xué)習(xí)——通信機(jī)制(話(huà)題通信③—注意事項(xiàng))

    ROS學(xué)習(xí)——通信機(jī)制(話(huà)題通信③—注意事項(xiàng))

    2.1.2 話(huà)題通信基本操作A(C++) · Autolabor-ROS機(jī)器人入門(mén)課程《ROS理論與實(shí)踐》零基礎(chǔ)教程? ?043話(huà)題通信(C++)4_注意事項(xiàng)_Chapter2-ROS通信機(jī)制_嗶哩嗶哩_bilibili 1. int main(int argc, char const *argv[]){} vscode 中的 main 函數(shù) 聲明 int main(int argc, char const *argv[]){},默認(rèn)生成 argv 被 const 修飾,需要

    2024年02月08日
    瀏覽(21)
  • 機(jī)器學(xué)習(xí)22:機(jī)器學(xué)習(xí)工程落地注意事項(xiàng)-II(公平-Fairness)

    負(fù)責(zé)任地評(píng)估機(jī)器學(xué)習(xí)模型需要做的不僅僅是計(jì)算損失指標(biāo)。在將模型投入實(shí)際應(yīng)用之前,審核訓(xùn)練數(shù)據(jù)并評(píng)估偏見(jiàn)( Bias )對(duì)預(yù)測(cè)至關(guān)重要。 本文內(nèi)容著眼于解讀訓(xùn)練數(shù)據(jù)中可能存在的不同類(lèi)型的人類(lèi)偏見(jiàn),同時(shí)提供了識(shí)別它們并評(píng)估其影響的策略。 目錄 1.偏見(jiàn)的類(lèi)型(

    2024年02月12日
    瀏覽(40)
  • 【機(jī)器學(xué)習(xí)】進(jìn)階學(xué)習(xí):詳細(xì)解析Sklearn中的MinMaxScaler---原理、應(yīng)用、源碼與注意事項(xiàng)

    【機(jī)器學(xué)習(xí)】進(jìn)階學(xué)習(xí):詳細(xì)解析Sklearn中的MinMaxScaler---原理、應(yīng)用、源碼與注意事項(xiàng)

    【機(jī)器學(xué)習(xí)】進(jìn)階學(xué)習(xí):詳細(xì)解析Sklearn中的MinMaxScaler—原理、應(yīng)用、源碼與注意事項(xiàng) 這篇文章的質(zhì)量分達(dá)到了 97分 ,雖然滿(mǎn)分是100分,但已經(jīng)相當(dāng)接近完美了。 請(qǐng)您耐心閱讀,我相信您一定能從中獲得不少寶貴的收獲和啟發(fā)~ ?? 個(gè)人主頁(yè):高斯小哥 ?? 高質(zhì)量專(zhuān)欄:Matp

    2024年03月12日
    瀏覽(38)
  • 【機(jī)器學(xué)習(xí)】詳細(xì)解析Sklearn中的StandardScaler---原理、應(yīng)用、源碼與注意事項(xiàng)

    【機(jī)器學(xué)習(xí)】詳細(xì)解析Sklearn中的StandardScaler---原理、應(yīng)用、源碼與注意事項(xiàng)

    【機(jī)器學(xué)習(xí)】詳細(xì)解析Sklearn中的StandardScaler—原理、應(yīng)用、源碼與注意事項(xiàng) ?? 個(gè)人主頁(yè):高斯小哥 ?? 高質(zhì)量專(zhuān)欄:Matplotlib之旅:零基礎(chǔ)精通數(shù)據(jù)可視化、Python基礎(chǔ)【高質(zhì)量合集】、PyTorch零基礎(chǔ)入門(mén)教程?? 希望得到您的訂閱和支持~ ?? 創(chuàng)作高質(zhì)量博文(平均質(zhì)量分92+),分

    2024年03月20日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包