原创 討厭的字符串讀入

字符串一共兩種 string  char* 1.讀入一個字符 scanf("%c",&c); c=getchar(); 2.讀入一行字符 char c[100]; gets(c); string s; getline(cin,s); 3.

原创 堅決不能閉門造車

即使是上自習,也一定要去自習室,要找人陪着。 學習就是要一羣人在一起。 惑而不從師,其爲惑也,終不解矣。 有時候會覺得問別人有點丟臉..但是要學習不能驕傲。驕傲就只能自己亂搞了,亂搞的結果就是跪掉。 從前的大牛現在也不經常來基地了。在基地

原创 lightoj 1136 第一次打表找規律做題..

#include<stdio.h> typedef long long ll; ll getNum(ll n) { if(n==1) return 0; ll sum=2*((n+1)/3)-1; if((n+1)%3==0)

原创 hangzhou 02

#include<stdio.h> #include<queue> #include<utility> #include<vector> #include<algorithm> #include<string.h> using names

原创 lightoj 1043 浮點數2分

2分ad的可能值,本來推公式也可以,但是感覺有點麻煩。 10^-6的精度,2分50次就夠了,2分20次反正掛了 #include<stdio.h> #include<cmath> int main() { double ab

原创 所以說,你是個會寫2分的人麼?

關於2分,實在是自己的痛處,上次區域賽熱身的時候把2分寫掛了,被黑了好幾個月了= =,幸虧我有強大的心臟。。 2分的用處不僅僅在於查找,還有很多用處,比如2分答案,查詢滿足條件的最大值,或者查詢滿足條件的最小值,又或者是平均值。 我寫的2

原创 lightoj 1003 強聯通模板題

#include<stdio.h> #include<vector> #include<algorithm> #include<map> #include<string> #include<iostream> #include<strin

原创 POJ1185 狀態壓縮DP 又是一道有意義的水題

之前做過POJ3285,那道題下一行的狀態只和上一行有關,所以每一行只需要記錄一行的狀態。 這一個炮兵陣地,炮可以打兩行,所以不僅僅與上一行有關,還與上上一行有關,所以每一行的狀態都由上兩行狀態推出,因爲要記錄兩個狀態,所以用了一個三維的

原创 lightoj 1042 練一練位操作

要把數字變成1的個數相同,比這個數大的最少的一個數 我的想法就是先找到第一個01這樣的序列,把1向前移動一位,然後再把位置靠前的1移動到後面的0上。 位操作: &= 可以把某位置0 通過1110111這樣子的數字 |= 可以把某位置1 通

原创 sin PI and other things

#include<stdio.h> #include<cmath> int main() { double PI=2*acos(0.0); int cas; scanf("%d",&cas); for(int T=1;T<=ca

原创 lightOJ 1002 最小瓶頸樹 ..

第一次要把最小生成樹保存下來。還是對算法理解有問題。一開始的時候要把起始點設置爲1,並把所有的相連邊加入隊列中。 自己寫edge的時候不喜歡記錄來源,所以用了個Pair,實在捉雞,可以直接寫成帶有from的struct,這樣代碼複雜度會減

原创 POJ 3254 簡單狀態壓縮DP

現在對簡單題的態度也變了,覺得簡單題未必不能幫助你提高。簡單題往往更裸,更能單獨體現某一個知識點或者技巧。而複雜題目往往是幾種技巧的組合使用。 這是一道入門的狀態壓縮DP。 在一個棋盤上選擇一些不相鄰的點(上下左右),求這些點的總數。有一

原创 lightoj 1045 有關進制的二三事

做完這道小題,對進制的理解加深了一點。 進制就是把一堆1用log級別表示出來的方法。log的底數就是進制。不同進制(除了1進制之外)在表示的難度方面沒有質的變化。所謂10進制並沒有什麼優勢。 2進制一樣可以log級別表示數。 總共有幾位就

原创 難道2分真的要卡死我麼 ZOJ3702

今天做浙大的校賽的時候見到的題目,被隊友找規律秒掉了,但是聽大牛說他是2分搞過去的。於是我也再用2分寫一發。但是還是WA了好久,究其原因並不是2分的錯,而是我輸出格式少了換行。 如果要用半開半閉區間的二分,就一直用吧。這道題是個二分查找,

原创 lightoj 1189 水題叫你明白什麼叫貪心....

把一個數分解成階乘之和。 這個數小於10^18。10^18次方要用longlong來存。這樣的話,0到19的階乘總共是20個數 2^20 次方種狀態,是不能直接算組合的 這時候我還正是卡住了。 這道小水題告訴你的就是,當你不能直接搞的時候