zzuli 1208 二叉樹(1)

#include<stdio.h>#include<stdlib.h>typedef struct tree{char c;struct tree *l,*r;}t,*lt;char s[1010];int i=0;lt h;lt sol(){lt cur=(lt)malloc(sizeof(t));cur->c=s[i++];if(cur->c=='1'){free(cur);return

hdu 1272 小希的迷宮 並查集

 這題可以不用並查集做,可以根據樹的性質(邊數=節點數-1)來做#include<stdio.h>int vis[100010],ji[100010];int f;int root(int a){while(ji[a]!=a)a=ji[a];return a;}void bing(int a,int b){int aa,bb;aa=root(a);bb=root(b);if(aa==bb)f=1;else

zoj 2314 Reactor Cooling–無源匯有上下界最大流–遞迴sap

/*我也沒有讀題 剛學就直接搜的這類題 找了個簡單的練習大致上好像是這麼個意思 給你一個圖 邊有上下界求無源匯最大流 沒有輸出NO 有則輸出 YES 並輸出 各邊的流量*/#include<iostream>#include<string.h>using namespace std;const int N=205;struct node{int u,v;}e[N*N];int l[N][N],u[N][N],g[N][N],d[N],num[N],

poj 2379 ACM Rank Table

很簡單的一道題,讓我WA了n次,沒想到給的資料還可以是不安時間先後的,搞得都沒興趣了,代碼很亂,懶得改了t[i].cuo[j]         表示i同學j題的錯誤提交次數    若為-1則表示已經提交成功#include<stdio.h>#include<stdlib.h>#include<string.h>struct team{int no,time,sol,cuo[25];}t[1010];struct ti{int

hdu 1950 Bridging signals–二分法求最長上升子序列

/***p[i]存長度為i的上升子序列的最小末元素*可以推出p[i]中的元素師按從小到大排列的,*因為長度為i的序列中可以找到一個長度為i-1的序列,長度為i-1的序列的末元素一定比長度為i的序列的末元素小,上升子序列麼*若p[i-1]比p[i]大,則上述中的長度為i-1的序列的末元素可以更新它*若當前元素最大,則長度增加*否則找到一個他可以更新的,更新之**題意:針腳之間有一些連線,有的交叉,現在不允許交叉,求最多能留下幾根線*以某一邊為序,求一個最長上升子序列的長度即可,普通方法可能逾時,所

poj 1703 Find them, Catch them 並查集

/*將敵人和朋友併到一個集合中,用另外一個數組(rel[i])存放i和集合代表元素(就是ji[i]中存的)的關係。如果兩個元素不在統一集合內,說明他們關係不清楚;如果兩個元素在同一個集合內:1.他們和集合代表元素的關係相同,他們則是朋友2.不同就是敵人*/#include<stdio.h>int ji[100010],rel[100010];//ji[]存放集合代表元素,re;[i]存放i和集合代表元素的關係int root(int x){int

MAP的運用–zzuli1663

#include<stdio.h>#include<iostream>#include<map>#include<string>using namespace std;map<string,string> a;map<string,string>::iterator it;string name,op;string num;int main(){int n,f=0;scanf("%d",&n);while(n--){

poj 1182 食物鏈 並查集

/*和一個城市兩個幫差不多,那個是只有兩個狀態,這道題成三個了找一下合并集合的時候的公式就行了本代碼中:rel[i]表示i的等級,集合根的等級是0,2級可以吃1級,1級吃0級,0級吃2級*/#include<stdio.h>int ji[50010],rel[50010];int root(int x){int t;if(x==ji[x])return x;t=ji[x];ji[x]=root(ji[x]);rel[x]=(rel[t]+rel[x])%3;return ji[x];

hdu 2222 Keywords Search–AC自動機

/***AC自動機就是給當前串找一個有後續的末端相同的串*當尋找不成功時轉向他的失敗指標處*轉向時總是拋棄掉幾個前段的字元*//*題意:給一些單詞和一個字串 求字串中單詞出現的次數和 單詞可以有重疊部分*/#include <iostream> using namespace std; const int kind = 26; struct node{ node *fail; //失敗指標 node *next[kind];

poj 3185 The Water Bowls

/*深搜*/#include<stdio.h>int cur,i;void fan(int j){cur^=1<<j;if((j-1)>=0)cur^=1<<(j-1);if((j+1)<20)cur^=1<<(j+1);}int dfs(int j,int step){if(step==i)//是否一番轉個次數return cur==0?1:0;if(j>=20) return

pick定理–zzuli1668

/***主要用了Pick定理:area=edge/2+in-1,證明如下:*假設整個平面是一個無窮大的鐵板;在0時間,每個格點上都有一個單位的熱量。*經過無窮長時間的傳導後,最終這些熱量將以單位密度均勻地分布在整個鐵板上。*下面我們試著求多邊形P內的熱量。*考慮多邊形的每一條線段e:它的兩個端點均在格點上,因此線段e的中點是整個平面格點的對稱中心,*因而流經該線段的熱量收支平衡(這半邊進來了多少那半邊就出去了多少),即出入該線段的熱量總和實際為0。*我們立即看到,P的熱量其實完全來自於它自身內部

hdu 1501 Zipper–LCS

#include<stdio.h>#include<string.h>char a[210],b[210],c[420],d[210][210];//忘了c應該是400+int main(){int

poj 1129 Channel Allocation

/*類似於圖的端點塗色問題,頂多四色,依次試試深搜,依次給每個點塗色*/#include<stdio.h>#include<string.h>int n,i,color[30];int map[30][30];int he(int j,int k)//判斷j塗k苦澀是否合適{int l;for(l=0;l<n;l++){if(map[j][l]&&color[l]==k)return 0;}return 1;}int dfs(int

poj 1250 Tanning Salon 和hotel一樣

#include<stdio.h>#include<string.h>int main(){int ss[30];//帶表人物狀態,0-該人不在這兒,1該人已入住,-1人滿了沒入住在這裡等待int chu,zhu,n,i;char

CodeForces 180E Cubes–後續指標–當前個數

題意:大致就是   一串數字中刪除k個,是剩下的串中連續數字最長,輸出長度貼兩個別人的代碼,加了注釋/**/#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#include<math.h>#include<queue>#define oo 2000000000#define ll long longusing namespace

zzuli 1210 二叉樹(3) 用線索化二叉樹和中跟輸出兩種方法

我先用的是把中跟輸出的結果放到數組裡,然後輸出它的前面的和後面的#include<stdio.h>#include<stdlib.h>typedef struct tree{char c;struct tree *l,*r;}t,*lt;char s[10100];int i=0;lt h;lt sol()//建立二叉樹{lt

異或最大–位元運算–~非–zzuli1675

/*求一些數字中 兩兩異或 的最大值用樹吧個數字存起來(二叉樹,根據其各位來分支)某數跟它的反(~a)的異或最大,所以要從高位向低位尋找盡量滿足其反的數字,他們的異或最大*/#include<stdio.h>struct node{int l,r;__int64 a;}p[200000];int n,yong;__int64 max,a;void build(){int i=0,cur=0,zhen;for(i=31;i>=0;i--){zhen=a&1<<

poj 2135 Farm Tour–最小費用最大流–鄰接表–構圖的時候注意退邊–以及退邊的演算法

/*題意:n個地點有m條路相連,從1走到n再回來,不走重複的路(這題居然認為,同一條路,按不同的方向走算是走不重複的路)最小費用最大流因為要來回,素以相當於找兩條1~n的最短路s~1 流量2 費用0n~t 流量2

zzuli 1209 二叉樹(2)

#include<stdio.h>#include<stdlib.h>typedef struct tree{char c;struct tree *l,*r;}t,*lt;char s[1010];int i=0,shen,mshen;lt h;lt sol(){lt cur=(lt)malloc(sizeof(t));cur->c=s[i++];if(cur->c=='1'){free(cur);return

兩個日期間相隔的天數–zzuli1654

/*兩個日期之間相隔的天數*/#include<stdio.h>int y1,y2,m1,m2,d1,d2;int tian[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31};int from(int n,int y,int t){int f,ret=t,i=y-1;if(n%400==0||n%4==0&&n%100!=0)f=1;else f=0

總頁數: 61357 1 .... 21007 21008 21009 21010 21011 .... 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.