a.useful decomposition codeforces 981c
題意:給你一棵n個結點的樹,然後輸入n-1條邊。要求將該樹拆成若干條簡單路徑,並且這些路徑都經過乙個公共節點。給出任意乙個解決方案,如不存在輸出no
思路:鄰接表存圖建雙向邊,如果乙個點的出度》2,那麼他就是那個共享的點,如果有兩個共享的點,一定為no。
我們把出度為1的點,存到乙個陣列中。如果有共享點,直接輸出:共享點~這個陣列中所有的點即可。
如果沒有共享點,那麼就是一條鏈的情況,輸出兩個出度為1的點即可。
#include
using namespace std;
const
int maxn =
100005
;int n, xx;
vector<
int> g[maxn]
, s;
intmain()
vector<
int> x;
int cnt =
0, s =0;
for(
int i =
1; i <= n; i++)if
(cnt >=2)
printf
("no\n");
else
else
}return0;
}
c - kefa and park codeforces 580c
#include
#include
#include
#include
using namespace std;
const
int maxn =
1e5+10;
int hascat[maxn]
, vis[maxn]
;int n, m, ans;
vector<
int> g[maxn]
;int
dfs(
int cur,
int ret)
else
if(ret > m || vis[cur]
) vis[cur]=1
;int ans =0;
if(cur >
1&& g[cur]
.size()
==1)for
(int i =
0; i < g[cur]
.size()
; i++
)return ans;
}int
main()
int u, v;
for(
int i =
1; i <= n -
1; i++
)dfs(1
,0);
printf
("%d\n"
,dfs(1
,0))
;//fclose(stdin);
return0;
}
我寫的dfswa在了第8個樣例,加上對n != 1的考慮後wa在了第9個樣例。還沒有到底為什麼wa了,看下ac**,發現在dfs時帶上fa引數非常有用,可以避免第二次訪問。(所以我為什麼傻到沒有弄個vis!!!)
e - recursive queries codeforces 932b
#include
#define ll long long
using namespace std;
int ans[10]
[1000005
],q,l,r,k;
intop
(int x)
//f(n)函式的功能實現
if(as<10)
return as;
x=as;}}
intmain()
else ans[i]
[j]=ans[i]
[j-1];
}}scanf
("%d"
,&q)
;while
(q--
)return0;
}
g - okabe and boxes codeforces 821c
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
#define rep(i,a) for(int i = 0; i < (a); i++)
#define pb push_back
#define sz(a) (a).size()
#define mp make_pair
#define all(a) (a).begin(),(a).end()
#define fs first
typedef vector<
int> vi;
typedef pair<
int,
int> pii;
intmain()
else
if(str[0]
=='r'
)else
} curr++;}
} cout << ans << endl;
}
i - producing snow codeforces 948c
#include
#include
#include
#include
#include
#include
using namespace std;
typedef
long
long ll;
const
int n=
1e5+5;
ll t[n]
,sum[n]
,v[n]
;//sum[i]是t[i]的字首和
intmain()
for(
int i=
1;i<=n;i++
)for
(int i=
1;i<=n;i++
)printf
("%lld%c"
,ans,i==n?
'\n'
:' ');
}return0;
}
2020牛客國慶集訓派對day3(補題)
補題j flowers 題目鏈結 tot 為花的貢獻和 本題給出資料n,m,n為花卉種類,m為每束花應該有m種,check中的x為x束花,假設有x束花,則應該有xm朵花,在n種花中,check過程 如果a i x則說明花的數量大於花束的數量,這種花可以用在每一種,而且還多出來,tot中加上x,反之第...
北京集訓DAY3
消去合法的序列 剩下的不合法序列一定是 3兩種括號個數各加1除2 手算一下即可4 5 include 6 include 7 include 8 9const int maxn 100010 10 11int len,top,cnt 1213 char s maxn 1415 inthh 25int...
省隊集訓DAY3
一共要使用六根木棍,那麼分割的方法就兩種,那麼關鍵就是要計算2,3的數量。cnt1 i 表示每種長度的木棍的方案數 cnt2 i 最初表示用不同的木棍拼成長度為i邊的方案數,後來表示選出四根木棍構成的方案數。cnt22 i 表示用兩個長度相同的不同木棍拼成長度為i的邊的方案數。cnt3 i 表示用三...