Time of Update: 2018-12-03
本次比賽由我、白翔、君帥組成的iBeyond完成. 每場比賽每次訓練都讓我更離不開ACM。 當我躺在從金華去杭州的火車過道上,餘暉灑進車廂,一切顯得那麼平靜,可是我的心卻靜不下來,又一次喝了杯拿鐵。成功不是偶然的,失敗也不是偶然的,對於這場邀請賽的失利雖有點始料未及,但細想下還是情理之中。 先說下本次比賽的10道題目: A、水題,簡單排序就可以,但是題意不明,又沒看到主辦方的提示,到126分鐘才AC.
Time of Update: 2018-12-03
有顏色的是最新動向的。 1、(5.12 寧波工院校賽)給定一個n*m的矩陣,然後進行操作,搜尋題目經常出現這樣的情況。常規的n表示行數,噁心的n表示列數。 2、(5.16 Zoj 3181) 由於答案比較大,如果對某個數取餘,相乘或相加容易超32位int,此時應在容易越界的地方換上64位int,否則答案直接設為__int64或者long long。 3、(5.18 Zoj 3395) 題目要求的字串重複次數為1到m,但用尾碼數組解題時要特判次數為1時的情況。 4、(5.19
Time of Update: 2018-12-03
還記的兩年以前的春天,那時的我還沒接手零點,沒當過幹部也沒管過人,沒有一群共同工作的戰友,可當初的我是那麼執著。雖然當時的零點像一艘快散的小船,沒有強悍的幹部班子,沒有充足的活動經費,沒有完善的組織制度,可我覺得一切沒那麼糟。
Time of Update: 2018-12-03
Problem
Time of Update: 2018-12-03
題目連結:hdu2098 代碼一: #include<iostream>#include<cmath>using namespace std;int prime(int x){ int i; for(i=(int)sqrt(x);i>1;i--) if(x%i==0)return 0; return 1;}int main(){ int n,i,c; while(cin>>n&&n) { c=0;
Time of Update: 2018-12-03
題目連結樹狀數組+二分poj2182 AC hdu2711 WA 有時間在研究吧#include <cstdio>#include <cstring>using namespace std;#define maxn 8005int arr[maxn],a[maxn],s[maxn];int lowbit(int x){ return x&(-x);}void update(int x,int n){ while(x<=n) {
Time of Update: 2018-12-03
樹,一種十分優美的資料結構,因為它本身就具有的遞迴性,所以它和子樹見能相互傳遞很多資訊,還因為它作為被限制的圖在上面可進行的操作更多,所以各種用於不同地方的樹都出現了,二叉樹、三叉樹、靜態搜尋樹、AVL樹,線段樹、SPLAY樹,尾碼樹等等..
Time of Update: 2018-12-03
題目:hdu1243方法:動態規劃思想:本題是最長公用子序列的變種,dp[i][j]代表遇到第j個恐怖份子使用第i顆子彈的最大得分。若in[i-1]與out[j-1]相等,即此時的子彈恰好可以用來擊斃恐怖分子,因此 dp[i][j]=dp[i-1][j-1]+score[in[i-1]];//以前的最大分數+這次所得分數否則 dp[i][j]=max(dp[i-1][j-1],max(dp[i-1][j],dp[i][j-1]));即此時的最大得分等於
Time of Update: 2018-12-03
當i相當大時,Fi也很大。現在不要求你求出Fi的值,只需要求出Fi的(十進位)位元。//用通項公式,但是公式取對數時需要轉換。#include<iostream>#include<cmath>using namespace std;int main(){int n;double a=1-sqrt(5.0),b=1+sqrt(5.0);while(cin>>n&&n){double
Time of Update: 2018-12-03
精選CF大水題十題,之所以說是大水題應該比一般的水題難一點也就大一點。一、cf 144 D Missile Silos http://www.codeforces.com/problemset/problem/144/D spfa但要掃描點掃描邊二、cf 141 C Queue http://www.codeforces.com/problemset/problem/141/C 構造題,我的方法是先構造一個合法序列然後再為為剩下的值賦值,構造的身高在n以內。三、cf 138B
Time of Update: 2018-12-03
這短時間看了論文《背包九講》,看到背包問題解法中的優美之處也看到背包問題在現實中的應用,總結出一句話:背包問題值得一看。 背包問題可以概括為這樣的模型:有若干種選擇,每種選擇有一定的代價和價值,做某些選擇會得到特定的狀態,問我們在約定的條件下怎麼得到特定的狀態?這裡的狀態可以是代價和或者價值和或者由其他這兩者組合而來的狀態。這類問題需要枚舉每種狀態,但是可以通過動態規劃減少枚舉的次數,提高效率,主要思想是每次都利用前面得到的狀態進行轉移得到當前的狀態。這類問題很少能用貪心的,首先,
Time of Update: 2018-12-03
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=4133【前言】一拿到題就想到可以打表。雖然上限是20億,但是我覺得真正的good
Time of Update: 2018-12-03
進入大學之後發現自己對機率問題很不感冒,其實一直都是這樣,高中就沒好好讀數學。機率不好的結果就是對機率類dp掌握得just so so,因為對這類dp的狀態和轉移不敏感,要麼是yy,要麼是花很長時間想狀態想轉移。 現在痛下決心,好好虐待自己一段時間,做下機率dp。 Codeforces 148D Bag of mice
Time of Update: 2018-12-03
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=4149【前言】當時比賽的時候沒有做出坑爹的第六題。第七題心甘情願不會做,解題報告的那句話不怎麼看懂。不過後來趕著做大作業去了,一直沒搞。今天稍有點輕鬆,於是動手解決。琢磨著就想出來了。確實還算可以的一道題。只是自己想不到。【思路】1007. Magic
Time of Update: 2018-12-03
Problem
Time of Update: 2018-12-03
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=1005【題意】f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 71 <= A, B <= 1000, 1 <= n <= 100,000,000【思路】由於這道題只需要mod7,所以可以用迴圈節之類的方法做。但也可以用矩陣最佳化遞推的方法簡單地做出來。下面描述一下矩陣的做法。f(n+
Time of Update: 2018-12-03
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=4132【前言】沒想到這麼簡單的一道題可以被做的這麼複雜=
Time of Update: 2018-12-03
#include<stdio.h>#include<stdlib.h>#include<string.h># define N 21 //只是為了實現演算法 不處理過大的數就現在而言long f[N] = {0,1,1};//為了統一 拋棄f[0]long fibonaccil_1(int n){int i = 0;if (n==1||n ==2)return 1;for(i = 3;i <= n ; i ++)f[i] = f[i-1] +
Time of Update: 2018-12-03
這是我整理的第二個CF好題專輯了。 整理這些題目只是因為這些題目確實很棒,我在做完這些題目之後的第一感覺是這些題目真的很好。 從今年暑假開始我幾乎每天一場CF,總體感覺是CF的題目品質很高,很多題目你必須要轉很多個彎或者從反面思考或者注意很多細節,思考量一般都比較大,而這些就是讓你的思維徒增猛進的題目,不做真是可惜啊。 一、CF 126B Password http://www.codeforces.com/problemset/problem/126/B
Time of Update: 2018-12-03
#include<iostream>using namespace std;const int RADIX=10,M=1003;//RADIX表示進位void add(int*a,int* b)//兩個大整數求和,和儲存在數組a中{ int i,carry=0;//carry表示進位 for(i=0;i<M+1;i++) { a[i]=a[i]+b[i] +carry; carry=a[i]/RADIX;