原创 信息學競賽中C語言的輸入輸出

不像C++中使用 iostream 庫,在C語言中,通過函數的形式進行輸入和輸出。C語言中最普遍的輸入函數是 scanf,輸出函數是 printf。 我們通過下面兩個示例程序來比較一下C++和C的輸入輸出的區別。 C++輸入輸出示例: #i

原创 洛谷P1494 [國家集訓隊]小Z的襪子 題解 普通莫隊算法

題目鏈接:https://www.luogu.com.cn/problem/P1494 解題思路: 普通莫隊算法。 使用 \(c[i]\) 表示第 \(i\) 只襪子的顏色、\(cnt[i]\) 表示當前區間顏色 \(i\) 的襪子數量,

原创 洛谷P1754 球迷購票問題 題解 動態規劃

題目鏈接:https://www.luogu.com.cn/problem/P1754 解題思路: 定義狀態 \(f[i][j]\) 表示前 \(i\) 個人中 \(50\) 元紙幣比 \(100\) 元紙幣多 \(j\) 張時的方案數,則

原创 CF1474C Array Destruction 題解 貪心

題目鏈接:http://codeforces.com/contest/1474/problem/C 解題思路:貪心。和 \(x\) 必定是單調遞減的(因爲所有 \(a_i\) 都大於 \(0\))。所以一開始的 \(x\) 必定是最大的那個

原创 洛谷P1854 花店櫥窗佈置 題解 2D/0D型動態規劃

題目大意:有 \(n\) 束花及 \(m\) 個花盆,要按順序將每一束花和花盆配對。第 \(i\) 束花和第 \(j\) 個花盆配對能夠收穫的價值是 \(a_{i,j}\),且要求和第 \(1 \ldots n\) 束花配對的花盆編號單調遞

原创 CF612E Square Root of Permutation 題解 圖論建圖題

題目鏈接:http://codeforces.com/contest/612/problem/E 題目大意:給你一個 \(1\) 到 \(n\) 的排列,求一個 \(1\) 到 \(n\) 的排列 \(q\) 滿足 \(q_{q_i} =

原创 POJ1704 Georgia and Bob 題解 階梯博弈

題目鏈接:http://poj.org/problem?id=1704 解題思路: 將兩個相鄰石子看成一組,每一組中前一個和後一個的距離等效成NIM博弈中石子個數(相鄰兩組之間距離無影響),這樣就實現了到NIM博弈的轉化,之後可以用NIM的

原创 HDU1848 Fibonacci again and again 題解 SG函數

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 題目大意: 這是一個二人遊戲; 一共有3堆石子,數量分別是m, n, p個; 兩人輪流走; 每走一步可以選擇任意一堆石子,然後取走f個

原创 SG函數簡要學習筆記

基本定理 ICG遊戲 遊戲有兩個人蔘與,二者輪流做出決策。且這兩個人的決策都對自己最有利。 當有一人無法做出決策時遊戲結束,無法做出決策的人輸。無論二者如何做出決策,遊戲可以在有限步內結束。 遊戲中的同一個狀態不可能多次抵達。且遊戲不會有

原创 洛谷P4322 [JSOI2016]最佳團體 題解 01分數規劃+樹上揹包

題目鏈接:https://www.luogu.com.cn/problem/P4322 解題思路: 01分數規劃 + 樹上揹包。 下面的代碼是 \(O(n^3)\) 的解法(不開O2會TLE一組數組): #include <bits/std

原创 洛谷P2868 [USACO07DEC]Sightseeing Cows G 題解 01分數規劃+SPFA判負環

題目鏈接:https://www.luogu.com.cn/problem/P2868 題目大意 爲了獎勵奶牛們的辛勤勞動,農夫約翰決定帶他的奶牛們一起在城市中旅遊。與此同時,奶牛們也在考慮如果高效地利用它們的閒暇時光。 在城市中有 \(L

原创 洛谷P4377 [USACO18OPEN]Talent Show G 題解 01分數規劃

題目鏈接:https://www.luogu.com.cn/problem/P4377 解題思路: 映射關係: \(w_i \rightarrow b_i\); \(t_i \rightarrow a_i\)。 問題轉變成了01分數規劃

原创 POJ2728 Desert King 題解 最優比率生成樹 01分數規劃

題目鏈接:http://poj.org/problem?id=2728 題目大意: 給你一個無向圖,每條邊有一個價值和長度,求一棵生成樹,其對應的價值和與長度和的幣值最小。 解題思路: 01分數規劃。對每一個 \(mid\),以 \(a_i

原创 POJ2976 Dropping tests 題解 01分數規劃

題目鏈接:http://poj.org/problem?id=2976 題目大意 在某門課程中,你要進行 \(n\) 個測試。其中第 \(i\) 個測試一共有 \(b_i\) 道問題,你答對的有 \(a_i\) 道。你在這門課程中的成績定義

原创 C++格式化輸出筆記

。。。