詣天詣練01

2021-09-19 05:45:43 字數 1736 閱讀 5975

手速題,題意給你n個車次和到達時間,幫s同學坐上最早的車。車有第一次到達時間和間隔時間。

分析:很簡單,只需讓所有車次都變成達到時間之後的,然後挑選最早的那個即可。

#includeusing namespace std;

const int maxn = 110;

int t, n, x[maxn];

struct nod

m[maxn];

bool cmp(nod x, nod y)

int main()

sort(m + 1, m + n + 1, cmp);

printf("%d\n", m[1].re);

return 0;

}

簡單思維題,簡單到沒有思維含量,給你正面看的高度和側面看的高度,然後讓你給出柱體擺放的可能情況。

因為我們看到的只能是最高高度,因而可能情況可以簡單的構造為正面和側面看到的最小值。

#includeusing namespace std;

const int maxn = 110;

int n, m, h, a[maxn], b[maxn], mp[maxn][maxn];

int main()

}for(int i = 1; i <= n; i++)

printf("\n");

}return 0;

}

有點難度的字串貪心題。讀題難度++,跑偏++;

題意:讓你把問號用『(』或『)』補全,而且要求不能有字首括號。寫出乙個可能情況。

分析貪心我們可以盡可能把前面湊齊n/2 個『(』然後剩下的補成『)』最後看看是否合適即可。

#includeusing namespace std;

const int maxn = 3e5 + 10;

int n;

char ch[maxn];

int main()

}if(flag || a) printf(":(\n");

else cout << ch + 1 << '\n';

}return 0;

}

這個有難度了,嚶。

題意,給你一群數,然後他們都是有乙個狀態0/1,0說明它取最小的子樹的值,1取最大的。非葉子節點的值由子節點決定,葉子結點的值從1 - n。

分析;由題意我們可以看出葉子結點的數目決定編號的大小,最大值則為cnt(葉子結點數)+ 1 - dp[1]。

狀態轉移方程

x == 0 dp[t] += dp[vec[t][i]]; // 0取最小,因而把所有子節點加起來

x == 1 dp[t] = min(dp[t], dp[vec[t][i]]); // 1取最大,只要有了最小值減去極為最大值

#includeusing namespace std;

const int maxn = 3e5 + 10;

vector vec[maxn];

int n, a[maxn], dp[maxn], cnt, vis[maxn];

map mp;

void dfs(int t)

if(a[t] == 1)

}else

}return ;

}int main()

dfs(1);

printf("%d\n", cnt + 1 - dp[1]);

}

詣天詣練03

小思維 手速題 題意 即每頁都有個懸念需要到另一頁去找,然後有懸念的一定要看完到那一頁,問你需要多少天。分析 即更新最大值當懸疑頁數小於等等於當前頁數時 1天。includeusing namespace std const int maxn 1e4 10 int n,ans,a maxn d in...

詣天詣練04

題意 找偶數子串個數。分析 如果i th位置為奇數則以它為末尾的子串都為奇數子串減去i即可。includeusing namespace std const int maxn 65010 int n long long num char ch maxn int main printf lld num...

第01天 Unix基本指令

主要學習了一些名詞和基本的一些unix的指令 shell 外殼 指令碼語言 常見b sh bash csh tcsh cd change directory 上一級目錄 當前目錄 主目錄 lib 系統庫檔案 從跟目錄開始找 叫絕對路徑 相對路徑 從某乙個地方開始,是相對的概念 unix 命令 大小寫...