CF-补题1

1、CodeForces 735C    题意:n个人淘汰赛,两个人可以比赛的条件是:两人打过的场数之差绝对值<2。求冠军最多可以打多少场。  总结:看了题解,转换一下思路。求n个人最多打几场 -> 打x场最少要几个人。 要最少,则f[x]=f[x-1]+f[x-2](即和打了x-1场和x-2场的胜者打)。然后对n二分就行。   :很巧妙,变成fibonacci了。

2、CodeForces 742D   题意:请客可容总量w,每个人量wi、魅力值bi。特殊在有朋友圈,同一朋友圈中人要么全来,要么只来一个。求最大魅力值。   总结:背包。但,要么来一个,不太好处理。不会

3、CodeForces 743D   题意:圣诞树发奖,n个结点n-1条边连成树,通过结点1挂在墙上,两个人任取两个结点剪断所连边,要使掉下的结点权值和s1,s2相加最大。如s1,s2必须有重合结点,输出"Impossible"。  总结:不好判断是否有重合结点。不会

4、CodeForces 745C   题意:n个点其中k个基点,一个连通分量中只有一个基点称为稳定图。给出m条已有边,问在保证稳定的前提下,最多可加几条边。  总结:并查集,往含有基点且结点最多的连通分量中加边即可,水。

5、CodeForces 746C   题意:列车在0到s(s>=2)内走动,人可坐列车,车、人分别一米走t1,t2秒,问人从x1到x2最短时间。  总结:好坑的模拟题,WA了4发才过,还看了数据。有很多细节的地方,有时间再做一遍。  :用数组代替模拟的,感受更简单一点,但也有地方要注意。

/*
题目注意:不一定只在整数点坐上列车; s>=2; s,x1可以重合。
*/
#include<bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define F(i,a,b) for (int i=a;i<b;i++)
#define FF(i,a,b) for (int i=a;i<=b;i++)
#define mes(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
typedef long long ll;
const int N = 1e3+; int ta[N],tb[N];
//ta[i]表示人到i点的时间,tb[i]表示列车到i点的时间,尤其注意列车可往返,故tb[i]会变
//最后答案就是看ta[x2]和列车载人之后第一次到x2的时间ans,哪个小
int main()
{
int s,x1,x2,t1,t2,p,d,d1;
while(~scanf("%d%d%d", &s,&x1,&x2)) {
scanf("%d%d%d%d", &t1,&t2,&p,&d);
if(t1>=t2) { cout<<(abs(x1-x2)*t2)<<endl; continue; }
x1<x2 ? d1= : d1=-;
for(int i=x1; ; i+=d1) {
i==x1 ? ta[i]= : ta[i]=ta[i-d1]+t2;
if(i==x2) break;
}
int flag=,first=,ans=INF;
tb[p-d]=-t1;
for(int i=p; ; i+=d) {
tb[i]=tb[i-d]+t1; //如开头要特判,注最好不要放到for循环外面,容易漏掉
if(i==x1) flag=; //要判断人是否可坐上列车,只要看列车是否经过x1
if(i==x2 && d==d1 && flag== && first==) { first=,ans=tb[i]; }
if(tb[i]>=ta[x2]) break;
if(i== || i==s) d=-d;
}
if(ta[x2]<=ans) cout<<ta[x2]<<endl;
else cout<<ans<<endl;
} return ;
}

6、CodeForces 746D   题意:a个G,b个B,一排输出,最多连续k个相同的,任意输出可能序列。  总结:水。但有个点傻了一下。  int a,k,b;(1至1e5)  if((a+1)*k<b) { puts("No"); }  注意:会爆int,(a+1)*k溢出。

7、CodeForces 747C   好水的题,直接暴力过了。。好气啊,怎么当时比赛的时候就没过呢

8、CodeForces 747D   题意:n天温度ti,ti<0必须用冬天轮胎,ti>=0夏天、冬天轮胎都可。一开始用夏天轮胎,结尾随便用哪种轮胎,问最少换几次轮胎。  总结:模拟题,记得综测时挂了一大片,好坑,有时间再做一遍

//尤其注意,结尾随便用哪种轮胎都可
#include<bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define F(i,a,b) for (int i=a;i<b;i++)
#define FF(i,a,b) for (int i=a;i<=b;i++)
#define mes(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
typedef long long ll;
const int N = 2e5+; int t[N],ns[N];
int main()
{
int n,k,sum,ml,num,tot;
while(~scanf("%d%d", &n,&k)) {
ml=, sum=;
FF(i,,n) {
scanf("%d", &t[i]);
if(t[i]<) sum++;
if(t[i]< && ml==) ml=i;
}
if(sum>k) { cout<<-<<endl; continue; }
if(ml==) { cout<<<<endl; continue; }
tot=;
FF(i,ml+,n) {
if(t[i]>=) {
if(t[i-]<) num=;
else num++;
}
else {
if(t[i-]>=) ns[tot++]=num;
}
}
k-=sum;
int nsen=, ans=tot*+;
if(t[n]>=) nsen=num, ans+=;
sort(ns,ns+tot);
FF(i,,tot-) {
if(k-ns[i]>=) k-=ns[i], ans-=;
else break;
}
if(nsen> && k-nsen>=) k-=nsen, ans-=;
cout<<ans<<endl;
} return ;
}

9、CodeForces 749D 先空着

CF-补题1的更多相关文章

  1. 【cf补题记录】Codeforces Round #608 (Div. 2)

    比赛传送门 再次改下写博客的格式,以锻炼自己码字能力 A. Suits 题意:有四种材料,第一套西装需要 \(a\).\(d\) 各一件,卖 \(e\) 块:第二套西装需要 \(b\).\(c\).\ ...

  2. 【cf补题记录】Codeforces Round #607 (Div. 2)

    比赛传送门 这里推荐一位dalao的博客-- https://www.cnblogs.com/KisekiPurin2019/ A:字符串 B:贪心 A // https://codeforces.c ...

  3. 3.26-3.31【cf补题+其他】

      计蒜客)翻硬币 //暴力匹配 #include<cstdio> #include<cstring> #define CLR(a, b) memset((a), (b), s ...

  4. 【cf补题记录】A. Hotelier

    思考之后再看题解,是与别人灵魂之间的沟通与碰撞 A. Hotelier 题意 给出长度为n的字符串,字符串由'L'.'R'以及数字0~9组成.旅馆有10间房子,L代表客人从左边入住,R代表客人从右边入 ...

  5. 4.30-5.1cf补题

    //yy:拒绝转载!!! 悄悄告诉你,做题累了,去打两把斗地主就能恢复了喔~~~ //yy:可是我不会斗地主吖("'▽'") ~~~那就听两遍小苹果嘛~~~ 五一假期除了花时间建模 ...

  6. 【春训团队赛第四场】补题 | MST上倍增 | LCA | DAG上最长路 | 思维 | 素数筛 | 找规律 | 计几 | 背包 | 并查集

    春训团队赛第四场 ID A B C D E F G H I J K L M AC O O O O O O O O O 补题 ? ? O O 传送门 题目链接(CF Gym102021) 题解链接(pd ...

  7. 2020.12.20vj补题

    A - Insomnia cure 题意:一共s只龙,每隔k,l,m,n只龙就会受伤,问这s只龙有多少龙是受伤的 思路:看起来题目范围并不是很多,直接进行循环判断 代码: 1 #include< ...

  8. hdu5017:补题系列之西安网络赛1011

    补题系列之西安网络赛1011 题目大意:给定一个椭球: 求它到原点的最短距离. 思路: 对于一个椭球的标准方程 x^2/a^2 + y^2/b^2 +z^2/c^2=1 来说,它到原点的最短距离即为m ...

  9. 2017河工大校赛补题CGH and 赛后小结

    网页设计课上实在无聊,便开始补题,发现比赛时候僵着的东西突然相通了不少 首先,"追妹"这题,两个队友讨论半天,分好多种情况最后放弃(可是我连题目都没看啊),今天看了之后试试是不是直 ...

  10. 2018 HDU多校第四场赛后补题

    2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...

随机推荐

  1. ListView控件--2016年12月9日

    ListView属性 ListView   名称 说明 AccessKey 重写 WebControl.AccessKey 属性. 不支持将此属性设置 ListView 控件.(覆盖 WebContr ...

  2. collections 模块(namedtuple, deque, Counter )

    基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型 ...

  3. Java 动态代理机制详解

    在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的 ...

  4. day7

    本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...

  5. using namespace std 和 using std::cin

    相较using std::cin使用using namespace std不会使得程序的效率变低,或者稳定性降低,只是这样作会将很多的名字引入程序,使得程序员使用的名字集合变小,容易引起命名冲突. 在 ...

  6. code vs 1098 均分纸牌(贪心)

    1098 均分纸牌 2002年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解   题目描述 Description 有 N 堆纸牌 ...

  7. git 修改注释信息

    1. push 之前 先看看自己提交过多少次,然后执行 git rebase -i HEAD~数字(你要修改你的第几次提交) 接下来执行,修改注释 git commit --amend 修改完注释之后 ...

  8. Ubuntu实用小指令

    1.Ubuntu命令行下打开图形界面的文件夹 可以使用 nautilus path 为使用方便,可以给命令nautilus加一个别名cd /home/usernamevi .bash_aliases在 ...

  9. MSDTC事务配置

    最近再用SSIS做数据归档,里面用到了分布式事务.在开发阶段是在一台计算机上运行只要是启动分布式服务就没什么问题,可是昨天把它部署到uat的时候遇到问题,错误信息是: 最后找到解决方案: 确认&quo ...

  10. PowerDisner15 关于生成表带双""号问题

    我们可以尝试在DBMS配置文件中修改相应的格式来解决. 在PowerDesigner中 选择 Database->Edit current database->Script->Sql ...