題目←
不看資料範圍一定想貪心系列…..
暴搜就可以了?然而不行….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...