原创 頭條筆試題目

2018/8/25 發下頭條的筆試題目,給大家筆試後練習。 第一題: 求連通分量。bfs dfs 並查集都可以。n=1e5,圖的儲存估計要用鄰接表,而並查集開個數組就可以了。 第二題: 感覺應該是遞推 唯一分解,考慮最後一個加減號的位

原创 最小生成數模板和並查集模板

#include<bits/stdc++.h> using namespace std; struct Edge{int u,v,w;}edge[200005]; int fa[5005],n,m,ans,eu,ev,cnt; inli

原创 P1197 [JSOI2008]星球大戰

不同的結構形成的結果也不同。。 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<vector> #include<st

原创 3n+1數鏈問題

用時間換空間,然而需要的空間太大,卡在第6個樣例,我覺得應該可以壓縮的。 #include <stdio.h> #include <string.h> int const maxn = 7000000; //不知道上限在哪裏 int

原创 P1198 [JSOI2008]最大數

#include <bits/stdc++.h> using namespace std; int n,d; int const maxn =200001; int const INF = -2147483647; int the

原创 Poj 1161

#include <stdio.h> #include <string.h> int const maxn = 1000; const int INF = 0x3f3f3f3f; int n,m,a; int member[maxn

原创 [編程題]餐館

某餐館有n張桌子,每張桌子有一個參數:a 可容納的最大人數; 有m批客人,每批客人有兩個參數:b人數,c預計消費金額。 在不允許拼桌的情況下,請實現一個算法選擇其中一部分客人,使得總預計消費金額最大 輸入描述: 輸入包括m+2行。

原创 英語6級題目

Questions 52 to 56 are based on the following passage. Is 20th-century capitalism failing 21st-century society? Members

原创 能量項鍊

動態規劃的想法很容易想到,但是在細節上特別是整除那裏容易出錯,如果下標從0開始也許更爲方便一些。 #include <stdio.h> #include <string.h> int const maxn = 210; int a[max

原创 魔板[S]

好的分層思想會使代碼簡單許多。 用了康拓展開,再次感覺到了數學的力量。 bfs的判定邊界條件的時候,一般可以分爲在得到新的狀態的時候判定是否重複,也可以在拿出來的時候判定。總體而言在得到的時候判定會減少一層判定樹的高度,但是要額外注意

原创 this指針的作用

//this指針問題 2012年7月18日0:37:13 #include <iostream> using namespace std; class point { public: int x,y; poin

原创 Poj 1258

#include<iostream> #include <string.h> using namespace std; const int maxn = 1000; int graph[maxn][maxn]; int dis[ma

原创 分田地

“牛牛和 15 個朋友來玩打土豪分田地的遊戲,牛牛決定讓你來分田地,地主的田地可以看成是一個矩形,每個位置有一個價值。分割田地的方法是橫豎各切三刀,分成 16 份,作爲領導幹部,牛牛總是會選擇其中總價值最小的一份田地, 作爲牛牛最好的朋友

原创 數字和爲sum的方法數

給定一個有n個正整數的數組A和一個整數sum,求選擇數組A中部分數字和爲sum的方案數。 當兩種選取方案有一個數字的下標不一樣,我們就認爲是不同的組成方案。 輸入描述: 輸入爲兩行: 第一行爲兩個正整數n(1 ≤ n ≤ 1000

原创 數列還原

牛牛的作業薄上有一個長度爲 n 的排列 A,這個排列包含了從1到n的n個數,但是因爲一些原因,其中有一些位置(不超過 10 個)看不清了,但是牛牛記得這個數列順序對的數量是 k,順序對是指滿足 i < j 且 A[i] < A[j] 的對