a:水
#include
using
namespace
std;
int a[10]=;
int main()
int ans=0;
while(x)
printf("%d\n",ans);
}return
0;}
b:貪心,每遇到乙個字元,將其移動到合理的地方。
#include
using
namespace
std;
typedef
long
long ll;
const ll inf=1e18+7;
char s[200007];
int main()
ans=min(ans,res);
//bgbg
res=0;
g=b=0;
for(int i=0;iif(s[i]=='g'&&b>g) res+=b-g-1;
else
if(s[i]=='b'&&g>b) res+=g-b;
if(s[i]=='g') g++;
else b++;
}ans=min(ans,res);
cout
<< ans << endl;
}return
0;}
d:我們將詢問按照
x 排序,每得到乙個詢問將剩餘的滿足 a[
i]>=x的
b[i]
放入到資料結構中,然後查詢區間 [l
,r] 內大於等於
y 的元素數量,可以用到分塊+二分的資料結構離線動態查詢(因為不會樹套樹)。
見:codeforces-785e-anton and permutation(分塊區間查詢,動態查詢[l,r]內小於某個值的元素個數)
#include
#define mp make_pair
#define fi first
#define se second
using
namespace
std;
const
int maxn=1e5+7;
int a[maxn],b[maxn],bl,sz,n,p[maxn],ans[maxn];
struct block
;struct query
}q[maxn];
block block[350];
void init_block()
}int query(int l,int r,int x,int y)
else
return res;
}void update(int x)
bool cmp(int a,int b)
int main()
sort(q,q+m);
int cur=1;
for(int i=0;iwhile(cur<=n&&a[p[cur]]>=q[i].x) update(p[cur++]);
ans[q[i].id]=query(q[i].l,q[i].r,q[i].x,q[i].y);
}for(int i=0;iprintf("%d\n",ans[i]);
}return
0;}
e:設 dp
[i]為前
i 個的方案數, dp
[i]=
∑[j,
i]不含
重複元素
dp[j
]
#include
using
namespace
std;
typedef
long
long ll;
const ll mod=1e9+7;
ll dp[100007];
char s[100007];
int a[100007];
bool vis[26];
int main()
else
break;}}
cout
<< dp[n] << endl;
}return
0;}
g:同乙個集合中的任意兩點間沒有邊,表現在補圖中就是完全圖,不同集合間的任意兩點間有邊,表現在補圖中就是不同的集合屬於不同的聯通集。所以我們處理出補圖,進行上述的檢測就行了。
#include
using
namespace
std;
const
int maxn=1007;
bool g[maxn][maxn],vis[maxn];
vector
adj[maxn],p;
void dfs(int u)
}bool check()
return
true;
}int main()
for(int i=1;i<=n;i++) adj[i].clear();
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
if(!g[i][j])
int k=0;
bool flag=true;
for(int i=1;i<=n;i++)}}
if(flag&&k>=2) printf("%d\n",k);
else
puts("0");
}return
0;}
j:列舉每個字母就行。
#include
using
namespace
std;
typedef
long
long ll;
const
int inf=1e9+7;
char s[100007];
int a[100007];
int main()
ans+=res;
}cout
<< ans << endl;
}return
0;}
l:處理出所有符合條件的數,然後二分查詢就行了。
#include
using
namespace
std;
typedef
long
long ll;
vector
a;int main()}}
sort(a.begin(),a.end());
while(t--)
return
0;}
2023年西北大學校賽題解
這次其實打的不是很好,兩個小時a了七道題,但是第五題wa了42次,三個小時死磕,個人覺得並沒有任何問題,但是還是不知道為什麼錯哎。想法應該是一樣的,可能是細節問題吧。看了好久。感覺弱好弱,西交大佬都ak了。膜一發金牌爺。第乙個要補的題就是 cf 740 a。之所以要說這個是因為當時校賽就沒做出來,然...
湘潭大學校賽I
accepted 58 submit 349 time limit 5000 ms memory limit 65536 kb 作為一名即將畢業大學生,小明即將參加一系列的面試,每場面試都有乙個開始時間 si和乙個結束時間 ti。小明可以選擇參加面試或者放棄面試,但是遲到和早退是不允許的。每場面試對...
2017河南工業大學校賽 D rqy的鍵盤
題目描述 rqy在和妹子約會,突然女票打來 rqy騙女票他在寫 女票為了證實,問他鍵盤上f鍵左邊是哪個鍵。你能否幫助rqy回應女票的質問?不然他可就要寫思想匯報了.輸入輸入資料第一行是乙個整數 t 1 t 10000 表示測試資料的組數。之後每一行先是乙個大寫字母x 之後為乙個字串left或righ...