当前位置: 首页 > news >正文

Educational Codeforces Round 11

 

DUANG: http://codeforces.com/contest/660

A

求让给定数组相邻元素互质所需要插入的数的个数并输出互质数组

不互质的中间加个1

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1111;
ll num[maxn];
ll gcd(ll a, ll b){
    if(b == 0) return a;
    return gcd(b, a%b);
}
int main(){
    int n;
    scanf("%d", &n);
    for(int i = 0; i < n; ++i) scanf("%d", &num[i]);
    vector<int> k;
    for(int i = 1; i < n; ++i){
        if(gcd(num[i-1], num[i]) != 1){
            k.push_back(i);
        }
    }
    printf("%d\n", k.size());
    int j = 0;
    for(int i = 0; i < n; ++i){
        if(j < k.size() && i == k[j]){
            printf("1 ");
            ++j;
        }
        printf("%d ", num[i]);
    }
    return 0;
}

 

 B

给定规则

输入n行m人,按照规则坐好,再按照规则离开,输出离开顺序

瞎搞

 

#include <bits/stdc++.h>
using namespace std;

const int maxn = 444;
bool vis[maxn];
int main(){
    int n, m;
    scanf("%d %d", &n, &m);
    int a = 2*n+1, b = 1, c = 2*n+2, d = 2;
    //printf("%d %d %d %d\n", a, b, c, d);
    memset(vis, true, sizeof(vis));
    for(int i = 0; i < 100; ++i){
        if(a <= m && vis[a]){
            printf("%d ", a);
            vis[a] = false;
            a += 2;
        }
        if(b <= m && vis[b]){
            printf("%d ", b);
            vis[b] = false;
            b += 2;
        }
        if(c <= m && vis[c]){
            printf("%d ", c);
            vis[c] = false;
            c += 2;
        }
        if(d <= m && vis[d]){
            printf("%d ", d);
            vis[d] = false;
            d += 2;
        }
    }
    return 0;
}

 C

给你n个数和k个把0变成1的机会,求最多几个1并输出那种情况

!!!maple师兄指点下撸出第一发尺取

#include <bits/stdc++.h>
using namespace std;

const int maxn = 333333;
int num[maxn];

int main(){
    int n, m;
    scanf("%d %d", &n, &m);
    for(int i = 0; i < n; ++i) scanf("%d", &num[i]);
    int l = 0, r = 0, ll = 0, rr = 0, ans = 0, tmp = 0, cnt = m;
    while(r < n){
        if(num[r]){
            tmp++;
            r++;
        }
        else{
            if(cnt){
                r++;
                cnt--;
                tmp++;
            }
            else{
                if(!num[l])
                    cnt++;
                l++;
                tmp--;
            }
        }
        if(tmp > ans){
            ans = tmp;
            ll = l;
            rr = r;
        }
    }
    printf("%d\n", ans);
    for(int i = 0; i < ll; ++i) printf("%d ", num[i]);
    for(int i = ll; i < rr; ++i) printf("%d ", 1);
    for(int i = rr; i < n; ++i) printf("%d ", num[i]);
    return 0;
}

D

给n个点求能组多少个平行四边形

题解给的想法更新了一下我的大脑   yeah~

两组能组成平行四边形的点的x坐标和相等、y坐标和相等

#include <bits/stdc++.h>
using namespace std;

const int maxn = 2222;
int x[maxn], y[maxn];

int main(){
    int n;
    scanf("%d", &n);
    for(int i = 0; i < n; ++i) scanf("%d %d", &x[i], &y[i]);
    map<pair<int, int>, int> m;
    m.clear();
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < i; ++j)
            m[{x[i]+x[j], y[i]+y[j]}]++;
    int ans = 0;
    for(auto& p : m)
        ans += p.second*(p.second-1)/2;
    printf("%d\n", ans);
    return 0;
}

 for(auto& p : m) 容器遍历新姿势?

 

另一种想法: 能构成平行四边形的一定是两个相同的变量

http://www.cnblogs.com/qscqesze/p/5373418.html

 

E、F..........233333333

 

转载于:https://www.cnblogs.com/book-book/p/5385260.html

相关文章:

  • 程序中的得与失
  • nodejs中下载文件回调问题
  • 你所不知的SEO高级策略技巧
  • 利用枚举类型实现统计
  • Educational Codeforces Round 9
  • 游戏坦克大战 说明(待续。。。)
  • json.dumps loads 终于区分出来了
  • js自己初探究
  • 从Sql server 2008获取表字段属性信息,注释信息
  • 定制UITabBar显示样式
  • C实现的静态顺序表
  • 053(三十二)
  • cacti (不可以利用yum安装cacti的配置)
  • 判断一个字符串是否为另外一个字符串旋转之后的字符串。
  • Library ‘/system/lib/libhoudini.so’ not found
  • 30秒的PHP代码片段(1)数组 - Array
  • extjs4学习之配置
  • Javascript编码规范
  • JS变量作用域
  • Making An Indicator With Pure CSS
  • overflow: hidden IE7无效
  • Vue小说阅读器(仿追书神器)
  • Xmanager 远程桌面 CentOS 7
  • 阿里云购买磁盘后挂载
  • 半理解系列--Promise的进化史
  • 不上全站https的网站你们就等着被恶心死吧
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 动态规划入门(以爬楼梯为例)
  • - 概述 - 《设计模式(极简c++版)》
  • 关于for循环的简单归纳
  • 关于使用markdown的方法(引自CSDN教程)
  • 基于游标的分页接口实现
  • 离散点最小(凸)包围边界查找
  • 码农张的Bug人生 - 初来乍到
  • 免费小说阅读小程序
  • 微服务核心架构梳理
  • 我这样减少了26.5M Java内存!
  • 学习ES6 变量的解构赋值
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • Hibernate主键生成策略及选择
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #FPGA(基础知识)
  • #Z2294. 打印树的直径
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .net快速开发框架源码分享
  • .NET是什么