Ural_1333. Genie Bomber 2

  /*從昨晚開始想這題,看到隊友有人1Y很快過了,備受打擊。然後就一直考慮各種情況,各種debug,都沒能過。下午另一個隊友也很快1Y了,很納悶,問了一下,搜的解題報告,思路是把1*1的方格分成1000*1000個離散的點,然後統計被圓覆蓋的點的個數。這個方法實在有點。。。無語。發現有的人一不會就搜解題報告,沒意思,寧願浪費時間也不那樣做,這題算是間接的看得解題報告吧。檢討!*///Copy thinking code:#include <iostream>#include

Ural_1012. K-based Numbers. Version 2(dp)

  跟Vresion 1一樣,就是加了高精度。表示高精度還是不熟。。。My Code:#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1000;void add(int a[], int b[], int res[]){int i;for(i = N; i >= 0; i--){ res[i] = a[i] +

HDU_1247 Hat’s Words(Trie 樹)

  Trie水題,將每個單詞插入Trie樹,然後暴力拆分每個單詞到樹中尋找匹配即可!有幾個要注意的細節,代碼注釋中都標上了。My Code:#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAX = 50007;struct node{int flag; node * next[26];};char dis[MAX][30];node

HDU_1231 最大連續子序列

  活說這道題,“如果最大連續子序列不唯一,則輸出序號i和j最小的那個(如輸入範例的第2、3組)。”這句話!有病!!      如果測試資料是  3       0 1 2       結果應該是  3 0 2,可是OJ的資料是 3 1 2,如果不是看到Discuss裡有人提醒,我一個月也找不出錯誤來!!  不說了,氣憤!!看代碼:#include <stdio.h>#define N 10010#define inf 0x7fffffffint main(){int

輸出最長上升子序列 模型(DP)

  要輸出最長上升子序列,只需加一個pre數組,記錄新加如序列的前一個。最後遍曆一遍數組就可以。代碼如下:#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1000;int num[N];int pre[N];int dp[N];int f[N];int main(){ freopen("data.in", "r", stdin)

SDUT_基本演算法

problem 1:貪心,我二了。。。problem 2:對這題表示無語,我擔心快速冪函數會超,所以10^6一次分開冪的,WA了,直接用快速冪函數算就對了,我無語了。。。快速冪函數:int exp_mod(int a,int n,int b){int t;if(n==0) return 1%b; if(n==1) return a%b; t=exp_mod(a,n/2,b); t=t*t%b;if((n&1)==1) t=t*a%b;return

BUAA_1321 逃課(DP)

描述在一個星期三的早上,某同學想用扔硬幣的方式來決定是否要去上演算法課。他扔 n 次硬幣,如果當中有連續 m 次以上(含 m 次)的結果都是正面,那麼他就去上課,否則就接著睡覺。(假設每次扔硬幣扔出的正反兩面的機率都是 0.5。)輸入輸入的每行有一組資料,分別為 n 和 m (0 < n <= 2000, 0 < m <= 10)。輸入以 0 0 結尾。輸出對於每組資料,輸出他去上課的機率,四捨五入保留小數點後 2

Ural_1215. Exactness of Projectile Hit

  /*做了兩天,終於AC了。各種參考啊,判段點是否在多邊形內是參考的網上的代碼;求點到直線的距離是師兄傳授的一套模板,只能說有好的模板就是好啊,自己寫了好幾遍沒過,用師兄的模板寫了一遍過了。思路:1、用叉積判斷點是否在多邊形內。2、求點到每個邊的距離的最小值。*///My Code:#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using

Ural_1030. Titanic

  /*WA到暴了,不能用gets()!!!改成cin.getline() 就過了。把要用的資料都讀出來,然後帶入一個公式。設球上兩個點(x1, y1),(x2, y2);sum = r*acos(sin(x1)*sin(x2) + cos(x1)*cos(x2)*cos(y1-y2));*///My Code:#include <iostream>#include <cstdio>#include <cstring>#include

Ural_1073. Square Country(DP)

   思路:dp,轉移方程 dp[i] = min(dp[i-1] + 1, dp[i - j*j] + 1);這個轉移方程很好理解,類似0-1背包,買j*j的這塊地還是不買。跟POJ_3267 The Cow Lexicon很像。ps:上午wa了好幾次,下午昨晚福州的網賽又拿過來這個題,不知道改了哪地方,沒積分鐘就ac了。看來是老天可憐我網賽被虐。。。T_TMy Code:#include <iostream>#include <cstdio>#include <

Ural_1013. K-based Numbers. Version 3(dp + 高精度)

  昨晚想著做了的,到宿舍亂的又沒心情了。發現高精度真的不熟,各種錯誤,Crash, MLE, WA。。。最後看到有人一個數組空間存兩位元,精度為100時才不MLE。#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1000;int ans[N*2][N+1];int tmp[N+1];void add(int a[], int b[]

HDU_2112 HDU Today(DIjkstra + map映射)

  這題做的真的很想砸電腦!!!!TLE, 完了WA, 檢查完錯誤又RE,無數次的RE,RE,RE,RE!!!RE你妹啊!把字串定義在while()外邊就能過,定義在裡邊就RE,還有char型能過,string就TLE,至於卡這麼賤嗎!!!前後總共來了30多遍!!!!崩潰啊!!!!!!#include <iostream>#include <cstdio>#include <string>#include <map>using namespace

第一次組隊賽總結

  昨天IcePoint第一次參戰,首戰失利!開始看到一道線段樹的題,db前一天剛做的,敲之1A。我和gx看一道物理題,開始分析錯過程了,3次WA,果斷放下!後來db讓我看一道貪心的題,糾結的是我們兩個都沒想出好的貪心策略,只好先放下。gx在做一道大數的題,用的枚舉。。。我暈,果斷TLE。然後我去看那題,用了一次log(),還是TLE。。。最後想到原來這題很水。被題坑了!整理好思路,敲之,3A。這時他們倆在做另外幾道題,只是題意難懂,思路都很水。我有回來看那道貪心的題,想了半天,一狠心直接枚舉,

HDU_3371 Connect the Cities ( Prim )

  貌似是道水題。Prim, 484MS水過。。。#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 505;const int inf = 0x7ffffff;int dis[N][N];int low[N];int vis[N];int v[N];void Prim(int n){int flag, i, j, min, sum =

Trie樹學習筆記

  字典樹(Trie樹),可以將之歸為進階資料結構吧,黑書上把Trie樹和線段樹一起講的。之所以叫它字典樹,大概是因為它的結構太像字典了。就像這張圖片:由字串 abcd、abd、bcd、efg、hi。建成的Trie樹如所示(Trie樹大概的結構一看就能理解);Trie樹的主要操作:1、建立新節點(姑且算是一樣吧);2、插入(建樹);3、尋找(與樹中的字串匹配,這個過程是肯快的,如果能完全符合的時間複雜度為是O(n),n = strlen(s)。)Trie的實現:1、結構體定義:struct

HDU_1013 Digital Roots

  今天有點鬱悶,想刷兩道水題解解悶的,結果找上了這道題,結果。。。。WA了n次,剛開始沒考慮到大數,直接寫了個整數的遞迴交上去了,然後WA就下來了!!後來看到discuss裡有人說用字串寫,結果整了半天就是WA,沒辦法,找來別人的代碼一看,我暈!以0結束,我直接沒判斷。。。。悲劇的一天啊~~~  不說了, 看代碼:#include <stdio.h>#include <string.h>int root(int x){int sum = 0;while(x) {

HDU_1058 Humble Numbers(DP)

  動態規劃題,F[n] 可由2, 3, 5, 7與F[n-1]的乘積得到,取這四個數的的最小值,就是當前F[n]的值,即F[n] = min{F[n-1]*2, F[n-1]*3, F[n-1]*5, F[n-1]*7}。  前6個數的遞迴過程:       n1 = 1;  n2 = min{1*2, 1*3,1*5,1*7} = 2;  n3 = min{2*2, 1*3, 1*5, 1*7} = 3;  n4 = min{2*2, 2*3, 1*5, 1*7} = 4;  n5 =

Ural_1671. Anansi’s Cobweb(並查集)

  /*思路參考大牛,我腦袋被lv踢了,居然想到用數狀數組寫。。。思路:並查集,先把不許要刪的邊用並查集合并,然後把需要刪的邊逆序加入到並查集中。。。。My Code:*/#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 100005;struct node {int s;int e;}g[N];int parent[N];int c[

Ural_1003 Parity(並查集)

  /*發現並查集的應用太巧妙了。。。大體思路:從題中可以看出來如果(i, j)是even的話,sum(i-1) 和 sum(j)的奇偶性相同。(i, j)如果是odd的話則其奇偶行不同。定義奇偶性為朋友,不同則為敵人。這樣按照奇偶性分成連個集合。same[i] = {x|sum[x]與sum[i]同奇偶}(即i的朋友集)diff[i] = {x|sum[x]與sum[i]不同奇偶}(即i的敵人集)如果(i, j)是even,則分別合并(same(i-1), same(j))和(dirr[i-1

福州網賽 1010 War (貪心)

  表示cin很不靠譜,10^5的資料量都能TLE 改成scanf 300+ms。My Code:#include <iostream>#include <algorithm>#include <cstdio>#include <fstream>using namespace std;const int N = 100005;class phage{public:int di;int ti;}p[N];bool cmp(phage a,

總頁數: 61357 1 .... 9431 9432 9433 9434 9435 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.