CF-1163

传送门

# Penalty A B1 B2 C1 C2 D E F
3 (483) 464 +0 0:06 +1 01:13 +3 01:12 + 01:57 + 01:56

A

第一个人离开时候不增加,第二个人离开时候隔一个走开

当m=0时,答案为0

n为偶数时,如果2m<=n那么答案为m,否则为n-m

n为奇数时,如果2m<=n那么答案为m,否则为n-m,可以发现奇偶是一样的

int n,m;
int main()
{
cin>>n>>m;
if(m == 0){
cout<<1<<endl;return 0;
}
else if(n == 1){
cout<<1<<endl;return 0;
}
else if(2 * m <= n){
cout<<m<<endl;
}
else cout<<n-m<<endl;
return 0;
}

B

做B题心态崩了,这到场上肯定被hack

case并不多,但一定要细心想

  • 全是一种颜色
  • 所有的颜色出现次数为1
  • 有一个颜色出现次数为1,其他为某种同样大小的次数
  • 有一个颜色出现次数为x+1,其他颜色出现次数为x
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <string>
#include <cstring>
#include <algorithm>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <ctime>
#include <vector>
#include <fstream>
#include <list>
#include <iomanip>
#include <numeric>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define ms(s) memset(s, 0, sizeof(s))
const int inf = 0x3f3f3f3f;
const int N = 1e5+10;
int n,u[N],c[N],num[N],cnt;
int main()
{
cin>>n;
int res = 1;
for(int i=1;i<=n;i++){
scanf("%d",&u[i]);
if(c[u[i]] == 0){
c[u[i]] ++;
num[1]++;
cnt++;
}
else{
num[c[u[i]]] --;
c[u[i]]++;
num[c[u[i]]] ++;
}
if(num[c[u[i]]] == i)res = i;//case1
if(num[1] == i)res = i;//case2
if(i > 1 && c[u[i]] == 1 && (i-1) % (cnt-1) == 0 && num[(i-1)/(cnt-1)] == cnt-1)//case3.1
res = i;
if(num[c[u[i]]] * c[u[i]] == i-1){//case3.2
res = i;
}
if(num[c[u[i]]] == 1 && num[c[u[i]]-1] == cnt-1)res = i;
if(num[c[u[i]]] == cnt - 1 && num[c[u[i]]+1] == 1)res = i;
}
cout<<res<<endl;
return 0;
}

C

存下每条直线,平行的直线不计算到答案中

const int N = 1010;
int n;
int x[N],y[N];
map<pair<int,int> ,set<int > > mp;
int main()
{
cin>>n;
ll res = 0;
ll tot = 0;//直线总数
for(int i=1;i<=n;i++)scanf("%d%d",&x[i],&y[i]);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i == j)continue;
int x1 = x[i], x2 = x[j];
int y1 = y[i], y2 = y[j];
int dx = x[i] - x[j];
int dy = y[i] - y[j];
int g = __gcd(dx,dy);
dx /= g;dy /= g;
if(dx < 0 || (dx == 0 && dy < 0)){
dx = -dx;
dy = -dy;
}
int c = dx * y1 - dy * x1;//求解直线dx*y = dy * x + c
if(!mp[{dx,dy}].count(c)){//如果直线没有记录过
tot++;
mp[{dx,dy}].insert(c);
res += tot - mp[{dx,dy}].size();//tot要减去与它平行的直线
}
}
}
cout<<res<<endl;
return 0;
}

D

留坑

E

留坑

[CF套题] CF-1163的更多相关文章

  1. 暑期训练 CF套题

    CodeForces 327A 题意:有n个数,都是0或1,然后必须执行一次操作,翻转一个区间,里面的数0变1,1变0,求最多1的数量 思路:最开始我写的最大字段和,后面好像写搓了,然后我又改成暴力, ...

  2. [CF套题] CF-1201

    CF-1201 传送门 # = * A 500 B 1000 C 1500 D 2000 E1 2000 E2 1000 1 (2217) 1672 482 00:09 400 01:40 790 0 ...

  3. 做了一道cf水题

    被一道cf水题卡了半天的时间,主要原因时自己不熟悉c++stl库的函数,本来一个可以用库解决的问题,我用c语言模拟了那个函数半天,结果还超时了. 题意大概就是,给定n个数,查询k次,每次查询过后,输出 ...

  4. B. Lost Number【CF交互题 暴力】

    B. Lost Number[CF交互题 暴力] This is an interactive problem. Remember to flush your output while communi ...

  5. 第46套题【STL】【贪心】【递推】【BFS 图】

    已经有四套题没有写博客了.今天改的比较快,就有时间写.今天这套题是用的图片的形式,传上来不好看,就自己描述吧. 第一题:单词分类 题目大意:有n个单词(n<=10000),如果两个单词中每个字母 ...

  6. Educational Codeforces Round 15 套题

    这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib& ...

  7. 【套题】qbxt国庆刷题班D1

    Day1 事实上D1的题目还是比较简单的= =然而D1T2爆炸了就十分尴尬--错失一波键盘 看题 T1 传送门 Description 现在你手里有一个计算器,上面显示了一个数\(S\),这个计算器十 ...

  8. Moscow Pre-Finals Workshop 2016. Japanese School OI Team Selection. 套题详细解题报告

    写在前面 谨以此篇题解致敬出题人! 真的期盼国内也能多出现一些这样质量的比赛啊.9道题中,没有一道凑数的题目,更没有码农题,任何一题拿出来都是为数不多的好题.可以说是这一年打过的题目质量最棒的五场比赛 ...

  9. CF 某套题 O :Grid (简单BFS)

    题意: 从左上角跳到右下角最少需要多少步,跳的规则为:可以向四个方向的任意一个方向跳当前格子中的步数,若跳不到右下角输出IMPOSSIBLE. 题解: BFS搜索,注意判断边界,标记. 代码: #in ...

随机推荐

  1. IndexedDB详解

    目录 简介 IndexedDB简介 IndexedDB的使用 IndexedDB的浏览器支持 创建IndexedDB indexdb中的CURD 使用游标cursor 简介 IndexedDB是一种在 ...

  2. Hadoop伪分布式模式

    搭建在单一服务器 基于官方文档 http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster ...

  3. Xamarin.Forms 5.0 来了

    Xamarin.Forms 5.0 已经正式发布,并带来其新功能,具体看官方博客https://devblogs.microsoft.com/xamarin/xamarin-forms-5-0-is- ...

  4. 【Linux】linux的所有文件分类解析

    今天看书的时候,无意间看到/dev/文件夹,以前没注意,今天去看了下发现,很多文件的开头文件属性都是一些不怎么见到的 常见的是   -     这个是代表文件,可以vim编辑的 d     这个是代表 ...

  5. LeetCode590. N叉树的后序遍历

    题目 1 class Solution { 2 public: 3 vector<int>ans; 4 vector<int> postorder(Node* root) { ...

  6. Web安全之CSRF(跨站请求伪造)

    CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为"CSRF",在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺 ...

  7. (四)React Ant Design Pro + .Net5 WebApi:PostgreSQL数据库环境搭建

    一.简介 PostgreSQL,开源数据库(没听过小伙伴自己反思一下自行百度) PgAdmin,官方提供的数据库管理工具. 二.环境 1. 官网下载包,安装数据库 tar xjvf /app/pack ...

  8. oracle rac与单实例DG切换

    1.主库查看状态(RAC库) SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHO ...

  9. 转 9 jmeter之检查点

    9 jmeter之检查点   jmeter有类似loadrunner检查点的功能,就是断言中的响应断言. 1.响应断言(对返回文字结果进行相应的匹配)右击请求-->添加-->断言--> ...

  10. 四. Ribbon负载均衡服务调用

    1. 概述 1.1 Ribbon是什么 SpringCloud Ribbon是基于Netflix Ribbon实现的一套客户端,是负载均衡的工具. Ribbon是Netflix发布的开源项目,主要功能 ...