A. Buying Torches 题目:http://codeforces.com/contest/1418/problem/A 题解:计算一个公式:1+n*(x-1)=(y+1)*k,求满足该条件的n,很简单的一道题 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; ll t,x,y,k; int main() { ll i,j; cin>>t; while(t--) { cin>…
CF的Educational Round (Div.2),质量还是蛮高的. A: 水题 #include<cstdio> #include<algorithm> typedef long long ll; ll T,x,y,k,ans; template <typename T> inline void read(T &x){ char ch = getchar(); x = 0; int f = 1; for(;ch > '9' || ch < '…
一.题目 二.题目链接 http://codeforces.com/contest/920/problem/E 三.题意 给定一个$N$和$M$.$N$表示有$N$个点,$M$表示,在一个$N$个点组成的无向完全图中,接下来的$M$条无向边不存在. 问你在这个图中有多少个连通分量,并且从小到大输出每个连通分量的顶点个数. 四.思路 求无向图的连通分量个数,只需要跑一边bfs就OK了.其实dfs也可以,只是太多的“函数压栈现场保护”浪费一丢丢时间而已,慢一点点,影响其实并不大. 要注意的是,无论跑…
contest链接:https://codeforces.com/contest/1288 A. Deadline 题意:略 思路:根据题意 x + [d/(x+1)] 需要找到一个x使得上式小于等于n,即x + [d/(x+1) ] <=n,不等式两边同时+1得 x+1 + [d/(x+1)] <=n + 1当且仅当(x+1)2 = d时,式子左边最小,所有只需要判断一下最小值是否<=n+1就可以知道该不等式是否存在x满足题意了,即找到x = √d - 1,判断一下即可. AC代码:…
题意:你和基友两人从左往右轮流打怪兽,强怪用\(1\)表示,垃圾用\(0\)表示,但基友比较弱,打不过强怪,碰到强怪需要用一次魔法,而你很强,无论什么怪都能乱杀,基友先打,每人每次至少杀一个怪兽,最多杀两个怪兽,问最少需要用多少次魔法能将怪兽全部打完. 题解:由于在打怪的过程中,每个状态都与之前息息相关,所以我们可以用dp来写,\(dp[i][who]\),\(i\)表示第\(i\)个怪兽,\(who\)表示我或基友,因为基友先打,所以基友的前两个状态我们是确定的,即:\(dp[1][0]=a[…
题意:给你一串长度为\(n\)的序列,有的位置被锁上了,你可以对没锁的位置上的元素任意排序,使得最后一个\(\le0\)的前缀和的位置最小,求重新排序后的序列. 题解:贪心,将所有能动的位置从大到小排个序就行了. 代码: struct misaka{ int a; int loc; }e[N]; int t; int n; int main() { //ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); t=read(); while(t--)…
题意:刚开始你有一个木棍,造一个火炬需要一个木根和一个煤块,现在你可以用一个木棍换取\(x\)个木棍,或者\(y\)根木棍换一个煤块,消耗一次操作,问最少需要操作多少次才能造出\(k\)把火炬. 题解:初始你有一个木棍,造出\(k\)把火炬需要\(k\)个木棍和\(k\)个煤块,而一个煤块需要\(y\)个木棍,所以需要木棍\(k+y*k-1\)个,而每次操作你可以获得\(x-1\)个木棍,所以为了获得木根,需要操作\(\lceil k+y*k-1/(x-1)\rceil\),之后获得\(k\)个…
昨晚打了这把EDU,赛后看了dalao们的C题代码豁然开朗恍然大悟 实在是太巧妙了 这场来说,D题的通过率比C题高太多了(估计很多人都在C题卡了然后没做D 先放题目链接 题目链接 C - Recover an RBS https://codeforces.ml/contest/1709/problem/C D - Rorororobot https://codeforces.ml/contest/1709/problem/D 先讲C题吧 C题题意 给你一个括号序,里面部分括号是被问号"?&quo…
A题      ............太水就不说了,贴下代码 #include<string> #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<queue> #include<cstdio> using namespace std; int n,m; int m…
A .Regular Bracket Sequence 题意:给定“((” , “()” ,  “)(”,  “))”四种,问是否可以组成合法括号匹配 思路:设四种是ABCD,B可以不用管,而C在A或者D存在时可以不考虑,然后就是A=D. #include<bits/stdc++.h> #define ll long long #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; ; ll A,B,C,D,ans; i…