vijos1048 送給聖誕夜的賀卡

2021-08-10 13:27:10 字數 957 閱讀 3601

題目←

不看資料範圍一定想貪心系列…..

暴搜就可以了?然而不行….tle…..

於是考慮減枝

題目要求價值總和最大,就按大->小排序

就從最大的選

然而僅僅這樣複雜度不會降……

需要配合字尾和食用

當發現目前已選+後面待選的總和(即都選)依然比目前答案要小時,不搜

因為已經按大小排過序了,搜到較大答案的時間靠前的可能性比較大

達到減枝效果

#include

#include

#include

const

int maxn = 100 + 50;

using

namespace

std;

struct pingxingfry[maxn];

int cnt[maxn];

int n;

int cont[maxn][maxn],x,y;

bool cmp(pingxing a,pingxing b)

int ans = 0,hz[maxn];

bool used[maxn];

void dfs(int u,int sum)

bool flag = true;

int num = fry[u].num;

for(int i = 1;i <= cnt[num];i ++)

if(flag)

dfs(u + 1,sum);

}int main()

sort(fry + 1,fry + n + 1,cmp);

for(int i = n;i >= 1;i --)

while(cin >> x >> y)

dfs(1,0);

printf("%d",ans);

return

0;}

vijos1048 送給聖誕夜的賀卡

vijos1048 表示不是很懂為什麼這個是七級題。這是一道不明複雜度的玄學搜尋題 大概是sigma i,1,n c i,n n 50 然而實際上過所有資料30ms不到 這裡我們用鄰接表來存衝突關係 enm表示當前狀態該節點有多少個與其衝突的人 然後dfs下去 這就是樸素的思路 inline voi...

Vijos 1048 送給聖誕夜的賀卡(dfs)

描述 輸入格式 第一行乙個數n。第二行n個數,第i個數代表預選名單中第i號小精靈的書寫質量 均為非負整數 接下來有若干行,每行兩個不同的非負整數x和y,表示預選名單中第x號和第y號的小精靈曾經在賀卡書寫合作任務中發生過衝突。輸出格式 第一行乙個數s。樣例1樣例輸入1 3 4 2 5 1 2 copy...

vijos1049 送給聖誕夜的禮品

題目大意 順次給出m個置換,反覆使用這m個置換對初始序列進行操作,問k次置換後的序列。m 10,k 2 31。題目分析 先將m個置換所使用的矩陣合併起來,然後做t k m次。剩下的k m次模擬即可。include include include include include include inc...