2019CCPC網路預選賽解題報告

2021-09-26 11:09:12 字數 2045 閱讀 6940

hdu 6709 fishing master

hdu 6702 ^&^

/*************

題目:hdu 6702 ^&^

題意:給乙個a,b,輸出(a xor c) & (b xor c)值最小的正整數c

型別:思維

思路:輸出a&b,如果a&b==0輸出1即可

*************/

#includeusing namespace std;

#define ll long long

#define met(a,b) memset(a,b,sizeof(a))

#define ios1 ios::sync_with_stdio(false)

#define ios2 cin.tie(0);cout.tie(0)

const int maxn = 1e5+5;

const ll mod = 1e9+7;

const int inf = 0x3f3f3f3f;

int main()

return 0;

}

hdu 6707 shuffle card

/*************

題目:hdu 6707 shuffle card

題意:一副牌由n張牌組成。每張卡片都是不同的,編號1到n。起初,牌序為1到n。現在有m次操作,每次抽取乙個編號,將該編號的牌放到第一張牌的位置。最後輸出所有操作後的卡牌的順序。

型別:思維

思路:n和m的範圍都是1e5,加起來不會爆棧,所以直接拿棧做,然後再用map維護,輸出從棧頂往下每個第一次出現的編號。

*************/

#includeusing namespace std;

#define ll long long

#define met(a,b) memset(a,b,sizeof(a))

#define ios1 ios::sync_with_stdio(false)

#define ios2 cin.tie(0);cout.tie(0)

const int maxn = 1e5+5;

const ll mod = 1e9+7;

const int inf = 0x3f3f3f3f;

int n,t,m;

int a[maxn],num;

stacksta;

mapmp;

int main()

for(int i=0;ihdu 6708 windows of ccpc

/*************

題目:hdu 6708 windows of ccpc

題意:遞推的模擬,每次左上角,右上角,右下角不變,左下角ccpc取反即可

型別:模擬

思路:模擬

*************/

#includeusing namespace std;

#define ll long long

#define met(a,b) memset(a,b,sizeof(a))

#define ios1 ios::sync_with_stdio(false)

#define ios2 cin.tie(0);cout.tie(0)

const int maxn = 1e5+5;

const ll mod = 1e9+7;

const int inf = 0x3f3f3f3f;

struct nodex[15];

int main()}}

while(t--)

int query(int pl, int pr, int l, int r, int k)

int main()

ll = l, rr = n;

while(ll <= rr)

if(cntr-cntl+1else printf("%d\n",query(root[cntl - 1], root[cntr], 1, n, k));

} }return 0;

}

2019CCPC網路選拔賽補題

hdu6703 題意就不說了,直接分析吧。對於1操作,a pos 1e7,但是我們每次詢問是 1,n 範圍內的,這個操作顯然就是把這個點給刪了。對於2操作,詢問 1,r 區間內 k且不等於a i 1 i r 的最小的數。題目做法如下 對位置建權值線段樹,每個結點表示乙個區間,每個結點維護乙個區間的位...

2019CCPC網路賽 array(權值線段樹)

題目位址 兩種操作 1.給 a i 10000000 2.查詢不存在 在a 1 r 中 且不低於k的數 在第乙個操作時 由於k的範圍不夠 就相當於把 a i 刪除掉即a i 的下標變為無窮大而對於第二種操作 也就是 等價為在 k之後 的下標的大於r 的可以使用權值線段樹用來維護當前區間最大的 下標如...

2019 CCPC 網路選拔 array

給乙個 1 到 n 的排列 現在有 m 個操作,每個操作是下面的一種 t leq 10,1 leq n leq 10 5,1 leq m leq 10 5 1 leq k leq n 考場上頭鐵,硬肝了 4h 結考後 20 分鐘調出來,1a.但想出來還是很高興的 我們會發現每次給出的 k 都在 1,...