真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SDNU-ACM2022.12.4結訓賽-創(chuàng)新互聯(lián)

目錄

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設計、網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務公安,10多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

前言

A. 柳予欣的歸來

?思路

回顧

C. 我沒有腦子 (確實)

思路

D. 我是殺豬飼料,祝你天天開心

G. A + B Problem

?思路?

K. 逃出虛圈

?思路

L. 為愛發(fā)電的Oier

?思路

N.?瀧1千0(easy version)

?思路

F.?瀧1千0(hard version)

?思路

其他題

總結

前言

“ 心情不好就把音量開到大?!?

被薄紗了,是甚至簽到都沒簽完的大失敗場。很好笑,師哥說有人做了兩三題就去玩了,我是認認真真地卡題崩潰罰坐3小時。但其實出5.6題大概不算難,yysy我的理念是能自己看懂題解的就不應該做不對。

隊長寫過題解了,這篇沒什么好看的,主要是我想記錄一下失敗,還有一些不想寫到lls要看的總結里的總結。高中做題就容易鉆牛角尖,沒想到現(xiàn)在更嚴重了,挺失望的。放個博客看看我什么時候才能改掉這個壞習慣。

以下代碼只是補題,但是沒重交,不知道能不能AC,看看思路即可。

------>2022.12.5更新,交了,改改,注釋注意點,都A了。

A. 柳予欣的歸來
思路

對于任意素數(shù)p,小于p的數(shù)是p的完全剩余系,?對于任意a回顧

因為之前被快速冪卡過好幾次(具體可見月賽熱身賽),所以這次覺得用線性逆元必贏,但是p的范圍很大,1e12數(shù)組開不下,所以我開了三個1e6的數(shù)組妄圖使1e6+1e6=1e12。(雖然真的很好笑但是當時我re到崩潰了)。

別太看重某一個知識點,軸勁兒上來了不知道是幫我還是害我。

ps: 我竟然在思維題上被卡死了,那我僅有的一點優(yōu)勢沒了啊,我不允許。

#includeusing namespace std;
#define io ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
typedef long long ll;
const ll N = 1e6 + 1;
const ll MOD = 998244353;

ll fastpow(ll A, ll B, ll K ) {
	ll ans = 1;
	A = A % K;
	while (B) {
		if (B % 2 == 1)
			ans = (ans * A) % K;
		B /= 2;
		A = (A * A) % K;
	}
	return ans;
}

void work() {
	ll p, m;
	cin >>p >>m;
	p %= MOD;
	ll ans = p * (p - 1) % MOD * fastpow(2, MOD - 2, MOD);
	cout<< fastpow(ans, m, MOD)<<'\n';//xs,第一遍少打個‘CE了
}

int main() {
	io;
	work();
	return 0;
}
C. 我沒有腦子 (確實)

思路

自己打表300億記錄一下每億的結果。(這種技巧要會用)

或者? 矩陣快速冪。

//這個不想寫了,讓我擺吧,別管我了。

D. 我是殺豬飼料,祝你天天開心

蛇姐生日快樂!祝她天天開心!

(蛇姐是我這五個小時里唯一的安慰了)

G. A + B Problem
思路?

本來想的是高精度加法+取模,因為沒學取模所以一開始沒打算做這個題??搭}解發(fā)現(xiàn)確實是狗題(dbq其實是我基礎知識不扎實)。

ull的大范圍就是2^64,所以溢出其實就是取模,我們根本不用管最終取模,只需要讓字符串變成ull即可。這里還有個小點:(a×b+c)?%?p=((a×b)?%?p+c?%?p)?%?p,但是自然溢出真的很省事啥也不用干。

K. 逃出虛圈
思路

捅死我吧我為什么不寫bfs啊,真的對自己很無語,能不能別鉆牛角尖了。

我寫的bfs很板,不如師哥靈活。

#includeusing namespace std;
#define io ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define mem(a,b) memset(a,b,sizeof a)
typedef long long ll;
const int N = 1e5 + 5;
vectorarr[N];
bool vis[N];
bool exi[100005];
vectorent;

struct node {
	int now;
	int cnt;
};

void bfs() {
	queueq;
	for (int i = 0; i< ent.size(); ++i) {
		node st;
		st.now = ent[i];
		st.cnt = 0;
		q.push(st);
	}
	while (!q.empty()) {
		node cur = q.front();
		q.pop();
		if (exi[cur.now]) {
			cout<< cur.cnt<< '\n';
			return;
		}
		for (int i = 0; i< arr[cur.now].size(); ++i) {
			if (!vis[arr[cur.now][i]]) {
				vis[arr[cur.now][i]] = 1;
				node tt;
				tt.cnt = cur.cnt + 1;
				tt.now = arr[cur.now][i];
				q.push(tt);
			}
		}
	}
	cout<< "N0\n";//這個大概是輸出的坑
}

int main() {
	io;
	int n, m;
	mem(exi, 0);
	mem(vis, 0);
	cin >>n >>m;
	while (m--) {
		int u, v;
		cin >>u >>v;
		arr[u].push_back(v);
		arr[v].push_back(u);
	}
	int p, q;
	cin >>p >>q;
	while (p--) {
		int x;
		cin >>x;
		ent.push_back(x);
	}
	while (q--) {
		int x;
		cin >>x;
		exi[x] = 1;
	}
	bfs();
	return 0;
}
L. 為愛發(fā)電的Oier
思路

這么簽的題,我被期望勸退了,6。

E(x)=1/2 * x =n,求x。很好笑,我當時覺得我不會。

N.?瀧1千0(easy version)
思路

無論是取反還是翻轉,只要是偶數(shù)次操作就相當于無,那么希望修改第i個字符的操作就是進行三步操作:i ->1 ->i 。通俗來講就是把i的前綴翻轉,此時i位置元素到達1位置,然后修改1,再操作i給他變回去,此時僅i位置的字符進行奇數(shù)次操作,其他均進行偶數(shù)次操作,即可達到單獨修改i的目的。

最壞的情況是對于每一個字符都需要單獨修改,此時k=3*n。

#includeusing namespace std;
#define io ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
const int N = 1005;
int ans[3*N];//這個注意一下,答案是小于3*N的,數(shù)組要舍得開
int cnt = 0;

int main() {
	io;
	string a, b;
	cin >>a >>b;
	int n = a.length();
	for (int i = 0; i< n; ++i) {
		if (a[i] != b[i]) {
			ans[++cnt] = i + 1;
			ans[++cnt] = 1;
			ans[++cnt] = i + 1;
		}
	}
	cout<< cnt;
	for (int i = 1; i<= cnt; ++i) {
		cout<< " "<< ans[i];
	}
	cout<< '\n';
	return 0;
}
F.?瀧1千0(hard version)
思路

修改前綴,我們先讓一個字串全為0/1,然后從后往前修改前綴,由于預處理a字串全為0/1,操作中的翻轉=無,有點那個完全平方數(shù)按燈的感覺(這個理解不了就別理解了我想法很怪)。相當于從后往前找,找到不一樣的就把前綴全部改變。

最壞的情況仍然是對于a,b字串,每一個字符都與相鄰的不一樣且ab互反,預處理和修改都需要n次操作。

可能的注意點:

1. string的下標從0開始,如果能搞清楚就不用管,搞不清楚可以借鑒師哥操作:在前面隨便加一個什么字符讓下標從1開始。

2. 我們找的now一定是a[n-1]而非a[0]。因為預處理是從前往后的,理論上我們修改了字串,但是實際上我們并沒有對字串進行操作,只是記錄了答案而已,所以最終a字串的理論形態(tài)應該是全為最后一個字符的。

#includeusing namespace std;
#define io ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
const int N = 100005;
int ans[2*N];//同上

int main() {
	int cnt = 0;
	string a, b;
	cin >>a >>b;
	int n = a.length();
	for (int i = 1; i< n; ++i) {
		if (a[i] != a[i - 1]) {
			ans[++cnt] = i;
		}
	}
	int now = a[n - 1] - '0';
	for (int i = n - 1; i >= 0; --i) {
		if (now != (b[i] - '0')) {
			ans[++cnt] = i + 1;
			now = 1 - now;//這個是有點妙的
		}
	}
	cout<< cnt;
	for (int i = 1; i<= cnt; ++i) {
		cout<< " "<< ans[i];
	}
	cout<< '\n';
	return 0;
}
其他題

B. 收收心找個電子廠上班了(編程也就圖一樂)

區(qū)間貪心/差分約束。沒學,學了再寫。

E.?沒什么特殊意義,就是想混一個最長的題目名字,然后讓大家點進來做這道題

?離散化+ 權值線段樹/平衡樹/對頂堆/主席樹。都不會,學了再寫。

H.?柳予欣的色圖

? 防AK,polya裸題。高中數(shù)競看見過這個,但是只是從?Burnside求不動點 到 旋轉/翻轉同構的循環(huán)節(jié)。只有這一部分我是似乎理解的,hqgg給的洛谷題解看了很久但是還是沒太理解在群意義下的各種置換,打算等他講,我不自學了,真學不下去。(yjgg說看我做這題好幾個小時,我澄清一下,其實寫這題時間真不長,是一直卡A罷了。雖然聽起來更蠢)

I.?WWW的雜貨鋪

? 謝謝yyjj,真的是簡單模擬。

J. 去玩寶可夢嘍~

? dp+線段樹。先學學dp再說吧。之前聽到djk師哥說想出dp,特別簡單的。emmm,難以評價。

M. 完全不管大一死活

? 謝謝yjgg,出了周賽原題我是沒想到的,竟然一點難度都沒加?因為沒找到蛇姐的題面所以先開了這題,莫名其妙拿了一血。懷念水題時光,年少不知模擬簽。

總結

幾點反思:

最近打的每一場比賽都在破防,我也不想總是破防啊,顯得我很他媽矯情啊,一點都不酷。但難繃也是真難繃,我感覺我現(xiàn)在是除了簽到什么也出不來的狀態(tài),甚至今天簽到都沒簽完。被吊打,真麻了。

我挺不滿意自己現(xiàn)在的狀態(tài)的,雖然很多次比賽是靠著罰時少名次才沒那么難看,但是我寫代碼實在算不上穩(wěn),總是不記得開ll,不注意格式,不想特判等等,我不能保證思路對了就能一次寫對;如果說我思維強,今天的思維題也是真的把我卡死了?,F(xiàn)在是哪邊都不沾,這不應該。

其實最近學的有點用的東西也就一個線段樹吧,效率好低,我不想當失敗的卷王啊。

舍斷離!別鉆牛角尖啦,A不了就不想了,死磕一個題真的會讓一場比賽都爛掉。yjgg說有隊友會好一點,但其實女賽正式賽卡B的時候,姐姐們?nèi)慓,我讀完了題就又去想B了,中途討論是有點斷層的(很不好意思),幸好是磕出來B了,然后狂補G跟上了思路(雖然最后也是wa的)。那如果沒磕出來B呢,其實這樣是弊大于利的,這個事還是得改一改的,就看看我什么時候能改掉這個臭毛病吧。

笑死了,yjgg幫我找理由說這次沒大二師哥師姐帶榜導致我亂開題卡住,安慰一下自己聽聽得了,不是每一次比賽都會有人帶榜,icpc也有人歪榜啊那能怎么辦,不能把自己的節(jié)奏押在別人身上。自己亂開題還死磕就是能力的缺失啊靠。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


標題名稱:SDNU-ACM2022.12.4結訓賽-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://weahome.cn/article/posoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部