1. 程式人生 > 其它 >Mac電腦無法從Photoshop 2020作為外掛訪問DeNoise AI的解決辦法

Mac電腦無法從Photoshop 2020作為外掛訪問DeNoise AI的解決辦法

link

本場考試洛谷難度評級最弱的一道,然而考場上只是敲了個暴力,就特別離譜。總結下來應該是我練題不夠,畢竟二分圖到現在為止還是隻敲過模板,於是遇到稍微有點變通的題目就不會做了,這一點以後一定要彌補回來。

說回題目本身。這道題有一個限制,即每個武器只能被使用一次,而又因為每個武力值也只會使用一次,這就構成了一個一一對應的關係,於是乎題目要求就變成了一個求最大匹配數的問題。又由於顯然武器集合與武力值集合並無交集,便可以抽象成二分圖後用最大匹配來求解。然後就是要注意由於需要連續的一些數,我們應該從小到大依次列舉武力值,如果一個點時無法增廣,退出迴圈即可,這是唯一與模板不同的地方。複雜度鬼知道,能過就行。

#include<cstdio>
//#define zczc
const int N=1000010;
const int M=1010;
inline void read(int &wh){
	wh=0;int f=1;char w=getchar();
	while(w<'0'||w>'9'){if(w=='-')f=-1;w=getchar();}
	while(w>='0'&&w<='9'){wh=wh*10+w-'0';w=getchar();}
	wh*=f;return;
}

int m,a,b;
struct edge{
	int t,next;
}e[N<<1];
int esum,head[N<<1];
inline void add(int fr,int to){
	e[++esum]=(edge){to,head[fr]};head[fr]=esum;
}

int c[N<<1],vis[N<<1],nt;
inline bool dfs(int wh){
	for(int i=head[wh],th;i;i=e[i].next){
		if(vis[th=e[i].t]==nt)continue;vis[th]=nt;
		//printf("now:%d %d %d\n",wh,th-N,c[th]);
		if(c[th]==0||dfs(c[th]))return c[th]=wh,true;
	}
	return false;
}

signed main(){
	
	#ifdef zczc
	freopen("in.txt","r",stdin);
	#endif
	
	read(m);
	for(int i=1;i<=m;i++){
		read(a);read(b);
		add(a,N+i);add(b,N+i);
	}
	int ans=0;
	for(int i=1;;i++){
		//printf("ans:%d %d\n",i,ans);
		++nt;
		if(dfs(i))ans++;
		else break;
	}
	printf("%d\n",ans);
	
	return 0;
}
一如既往,萬事勝意