c題 professional manager
#include usingview codenamespace
std;
int root[200005],siz[200005],last[200005
];int
n,q,u,v;
intget(int
i)void
ops1()
void
ops2()
void
ops3()
void
ops4()
intmain()}}
return0;
}/*/// 用last記錄當前元素的前位
/// 查詢當前元素根 則 查詢當前元素的last的根
///// 當要從集合中去掉某元素時
///// 改變其last root[last]=last siz[last]=1
/// 這樣不會影響到在其下的其他元素查詢根的過程
當合併了2 3,3 4,4 5
last 3 4 5 5
| | | |
root 2-3-4-5
siz 1 2 3 4
此時若去掉3
last 3 6 5 5
| | | |
root 2-3-4-5
siz 1 1 3 3
*/
l題 fresh air
#include #includeview code#include
#include
#include
using
namespace
std;
struct nodea[100005
];//
supercalifragilisticexpialidocious area被樹圍住 從外部無法到達
//cnt為無法到達的區域大小 無法到達的區域設為0
int n,cnt,g[2005][2005],ans[100005
];int mov[4][2]=,,,};
bool bound(int x,int
y)void bfs(int x,int
y));
g[x][y]=2; cnt--;
while(!q.empty()));}
}}bool check(int x,int
y)
return0;
}int
main ()
cnt=2001*2001-n;
bfs(
0,0);//
先bfs一遍
///此時res等於減去1和2後餘下的無法到達的0的個數
for(int i=n;i>0;i--) //
從最後一點向前遍歷
for(int i=1;i<=n;i++)
printf(
"%d\n
",ans[i]);
}return0;
}
牛客 第十五屆華中科大邀請賽 J Mex 貪心
題目 嗚嗚嗚,簽到題都不會,菜枯遼。第一次爆零,補個簽到題留念。這個算思維題?貪心?我不懂 題意 求乙個序列的所有子串行和中,沒有出現的最小數。因為序列長度為1e5,所以複雜度不能超過 o nlogn 找規律。首先,思考有沒有乙個無敵的序列,使 ans 序列總和 1 序列ans12 1 24 1 2...
第十四屆華中科技大學程式設計競賽決賽同步賽
題意 長度為 n 的序列,沒告訴你具體數是多少。只給出 m 個查詢,表示區間 l,r 的異或和為 k 但是第 i 個查詢如果和前面的查詢有矛盾,那就是錯誤的。輸出所有的錯誤查詢。tags 對於乙個查詢,我們知道 sum r sum l 1 k 建成圖就是 r l 1 但要快速地求出異或值,就要用帶權...
哈爾濱工程大學第十四屆程式設計競賽 (補題
f 小帆帆走迷宮 簡單dp 一道其實不是很難的四維dp 但是在考場上因為只記錄轉彎次數沒記錄方向沒寫出來 看題發現 其實這道題就是二維數塔 轉向費的dp 所以我們用dp n n k m 來記錄狀態 前兩維n n 代表當前座標 k記錄轉彎幾次 m記錄方向 當m 0 記沒改變方向 當m 1 為改變了方向...