您现在的位置是:首页 > 正文

[CF套题] CF-1163

2024-02-01 00:05:16阅读 2

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

留坑

转载于:https://www.cnblogs.com/1625--H/p/11361241.html

网站文章

  • 提升效率!Django 中鲜为人知的内置命令

    提升效率!Django 中鲜为人知的内置命令

    【导语】:在我们使用Django框架开发应用或者网站的过程中,通常会用到许多命令进行管理,例如常用的runserver, makemigrations, migrate, shell等。此外,许多第三方包也提供了一些命令,我们可以在项目中使用这些命令,来简化开发流程。今天我们一起来学习一些有用的新命令。如果你还不熟悉Django,这里有一篇简单易上手的教程。1. diff...

    2024-02-01 00:04:48
  • 过河(动态规划)

    有一条河,河中有n块石头,现在从河的一边只能通过走石头到达对岸,每一步可以跨越至多3个石头。但是不幸的是,有一块石头被上一个过河的人踩松后被踩松了,所以为了安全后来的人就不能再踩这一块石头了。若现在有一个人想要到河的对岸去,他有多少种方法?注:若我们将石头从1到n进行编号的话,那么被踩松的石头编号为k。输入格式:多组输入对于每组输入在一行中给出2个整数n和...

    2024-02-01 00:04:43
  • 小波变换原理

    小波变换原理

    https://www.cnblogs.com/warmbeast/p/7809286.html 从傅里叶变换到小波变换,并不是一个完全抽象的东西,可以讲得很形象。小波变换有着明确的物理意义,如果我们...

    2024-02-01 00:04:35
  • C++:容器的基本功能与分类

    C++:容器的基本功能与分类

    容器的基本功能与分类容器类是容纳、包含一组元素或元素集合的对象。基于容器中元素的组织方式:顺序容器、关联容器按照与容器所关联的迭代器类型划分:可逆容器和随机访问容器容器的基本功能与分类容器unorde...

    2024-02-01 00:04:27
  • 前端安全知识

    前端安全知识

    原文连接 https://jkchao.cn/article/59d... XSS xss: 跨站脚本攻击(Cross Site Scripting)是最常见和基本的攻击 WEB 网站方法,攻击者通过注入非法的 html 标签或者 javascript 代码,从而当用户浏览该网页时,控制用户浏览器。 xss 主要分为三类: DOM x...

    2024-02-01 00:03:57
  • 虚拟服务器 双机,HA双机软件如何使用虚拟(VIP:Virtual IP)

    HA高可用,一般是对外提供一个固定IP地址或者固定域名供用户访问。固定域名方式需要域名解析为对应的ip地址,是一种分布式系统,这个和虚拟ip没关系。固定ip地址访问的方式,这个访问的ip又怎么知道服务...

    2024-02-01 00:03:50
  • visual studio客户端windows模式下调出cmd命令行

    visual studio客户端windows模式下调出cmd命令行

    visual studio 设置技巧

    2024-02-01 00:03:12
  • 关于rpm 命令的--changelog参数

    关于rpm 命令的--changelog参数

    2024-02-01 00:03:06
  • java面试题 --- 异常类型及处理

    java面试题 --- 异常类型及处理

    1.Java异常类型 2.异常的处理 异常处理指的是对可提前检查的异常的处理。 1&gt;使用try...catch语句块来处理 2&gt;使用throws/throw抛出到上层 3.finally关键字 finally 关键字用来创建在 try 代码块后面执行的代码块。无论是否发生异常,finally 代码块中的代码总会被执行。 在 finally 代码块中,可以运行清理类型...

    2024-02-01 00:02:48
  • 第六讲 单片机的指令系统及汇编语言程序设计基础

    第六讲 单片机的指令系统及汇编语言程序设计基础 §3-1 MCS-51单片机的指令格式与寻址方式一、汇编语言程序设计的意义什么是程序?完成某项特定任务的指令的集合。计算机按程序一条一条地依次执行指令,从而完成指定任务。要让计算机完成各项任务,就应设计各种程序。程序设计语言:机器语言、汇编语言、高

    2024-02-01 00:02:20