原创 P1198 [JSOI2008]最大數(單調棧,並查集)

傳送門 單調棧的做法顯然,主要是這道題爲什麼可以用並查集來代替二分查找 在將一個數插入單調隊列時,我們可以將被刪除的數的父親標記爲插入的數,在查找時只需要找到查找的數的根,根上的數值即爲答案。 證明?不會證qwq 複雜度O(n)O

原创 P5638 光騅者的榮耀(前綴和)

CSGRound2-T1 傳送門 由題意可知,我們需要求一個長度爲k的區間,使得它的時間和最大,那麼前綴和搞定 code: #include<cstdio> using namespace std; long long max(l

原创 P1177 [模板]快速排序(亂搞)

傳送門 快速排序是不可能的,這輩子也不可能的 STL大法好!!! 利用multiset自動排好序但是不去重的特性,一個一個insert,然後按順序輸出即可 橙題變紅題 code: #include <algorithm> #inc

原创 P1886 滑動窗口(線段樹)

傳送門 這道題顯然正解是單調隊列,我不會單調隊列,但是我會線段樹呀,所以這篇題解實際上不是正解qwq 我們可以用線段樹來維護區間的最大最小值,由於分開求會tle,所以我們要同時查詢 線段樹還是太慢了qwq code: #inclu

原创 P5380 [THUPC2019]鴨棋(模擬)

傳送門 最近代碼能力急劇下降,所以開始刷大模擬 這道題坑點很多,細節都在代碼註釋裏了 code: #include<bits/stdc++.h> using namespace std; inline int read(){

原创 P2024 [NOI2001]食物鏈

傳送門 多年前的冰茶几好題 我們考慮用3∗n3*n3∗n的並查集分別維護本身,獵物與天敵,每次判斷是否爲謊話時就用並查集判是否在同一集合裏就OK了 code: #include <cstdio> inline int read(

原创 P1877 [HAOI2012]音量調節(動態規劃)

傳送門 典型的到達型01揹包 f[i][j]f[i][j]f[i][j]:前iii首歌曲能否達到音量jjj,f[i][j]=0f[i][j]=0f[i][j]=0不能達到,f[i][j]=1f[i][j]=1f[i][j]=1表示

原创 P3826 [NOI2017]蔬菜(貪心)

傳送門 很神的貪心 我們考慮時間倒流,因此倒着貪心,每次選取將要壞的蔬菜 code: #include<bits/stdc++.h> using namespace std; #define MP make_pair typede

原创 P5018 [NOIP2018]對稱二叉樹(搜索)

傳送門 這道題我考場上寫的正解,然而不知道爲啥炸成了44分 顯然普及組T4不需要數據結構,因此我們考慮搜索,神奇的是,這道題正解就是搜索 code: #include<iostream> using namespace std;

原创 CF47C Crossword(模擬)

傳送門 這道題直接暴力模擬就好了,用next_permutation生成全排列 code: #include <bits/stdc++.h> using namespace std; char a[40][40]; vector<

原创 P4684 [IOI2008]Fish(組合數學)

傳送門 組合數學好題 時間複雜度O(FlogF)O(FlogF)O(FlogF) code: #pragma GCC optimize("Ofast") #include <iostream> #include <cstring>

原创 P2822 [NOIP2016]組合數問題

傳送門 這道題顯然需要預處理,要不然會T飛的 70pts做法:預處理組合數,時間複雜度O(T∗m2)O(T*m^{2})O(T∗m2) 滿分做法:前綴和維護,把查詢的複雜度降到O(1)O(1)O(1),總複雜度O(T)O(T)O(

原创 P5602 小E與美食(貪心)

傳送門 顯然我們可以把滿足感排個序,然後從大到小吃,每次取max就好了,注意精度 code: #include <iostream> #include <cstdio> #include <cctype> #include <io

原创 P1387 最大正方形(動態規劃)

傳送門咕咕咕了 這道題實際上只需要計算每個點的左,左上和上方的最大值+1就好了 code: #include <algorithm> #include <iostream> #include <cstdlib> #include

原创 P3353 在你窗外閃耀的星星(前綴和)

傳送門 數據水到前綴和就可以過了 題面好甜呀qwq code: #pragma GCC optimize(3) #include<bits/stdc++.h> using namespace std; int n,m,w,x,y,