题目链接:https://codeforces.com/contest/1213


A:

题意:给定数的位置,位置为整数,每个数可以向左或右移动一格或者两格,移动一格花费一个硬币,两格不花费硬币,问所有硬币移动到同一位置至少要花费多少硬币

idea:每个数的奇偶个数

 #include <bits/stdc++.h>

 using namespace std;
int a[], n, s1, s2; int main()
{
cin >> n;
for (int i = ; i < n; i ++ )
{
cin >> a[i];
if (a[i] % ) s1 ++ ; //s1为偶数
else s2 ++ ;
}
int ans = min(s1, s2);
cout << ans << endl;
return ;
}

B:

题意:给出每天的价格,如果后面天数有价格比当前天数价格低,就认为这一天为“坏”的一天,问总共有多少天是“坏的”

idea:单调栈,从后面往前遍历一遍,时间复杂度O(n)

 #include <iostream>
#include <cstdio> using namespace std;
const int MAXN = 1e6 + ;
int t, n, a[MAXN]; int main()
{
cin >> t;
while (t -- )
{
scanf("%d",&n);
for (int i = ; i < n; i ++ )
scanf("%d",&a[i]); int ss = a[n - ], ans = ;
for (int i = n - ; i >= ; i -- )
{
if (a[i] > ss) ans ++ ;
if (a[i] < ss) ss = a[i];
}
cout << ans << endl;
}
return ;
}

C:

题意:输入n和m,求1~n中能整除m的数的个位数累加和

idea:数学题,i * m % 10 = (10 + i) * m % 10,0 <= i <= 9

 #include <iostream>
#include <cstdio> using namespace std;
typedef long long ll;
int q, a[]; int main()
{
cin >> q;
while (q -- )
{
ll n, m, k, sum = , ans = ;
cin >> n >> m;
for (int i = ; i < ; i ++ )
{
a[i] = m * ( + i) % ;
sum += a[i];
} k = n / m;
ll s;
s = k % ;
for (int i = ; i < s; i ++ ) ans += a[i];
ans += (k / ) * sum;
cout << ans << endl;
}
return ;
}

D1:

题意:给定一些数,数能变成 n / 2 (向下取整),问变成某个数m,且至少有k个数能变成m需要的操作次数至少是多少

idea:记录每个数的贡献,若变成m的数大于等于k个,取前k小操作次数累加即可(纯暴力瞎搞...)

 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std;
const int MAXN = 1e6;
const int _inf = 0x3f3f3f;
int k, n, a[MAXN], b[MAXN], c[MAXN], ans = _inf; int main()
{
cin >> n >> k;
for (int i = ; i < n; i ++ )
cin >> a[i]; int idd = ;
for (int i = ; i < n; i ++ )
{
int x = a[i];
b[idd ++ ] = x;
while (x > )
{
x >>= ;
b[idd ++ ] = x;
}
} for (int i = ; i < idd; i ++ )
{
int id = ;
for (int j = ; j < n; j ++ )
{
int x = a[j], cur = ;
while (x > b[i])
{
x >>= ;
cur ++ ;
}
if (x == b[i]) {
c[id ++ ] = cur;
}
}
if (id >= k) {
int sum = ;
sort(c, c + id);
for (int j = ; j < k; j ++ ) sum += c[j];
ans = min(ans, sum);
}
memset(c,,sizeof c);
}
cout << ans << endl;
return ;
}

PS:由于自己懒,拖了好久才补的题,以后要第一时间把题补了,专心补题

Codeforces Round #582 (Div. 3)的更多相关文章

  1. Codeforces Round #582 (Div. 3)-G. Path Queries-并查集

    Codeforces Round #582 (Div. 3)-G. Path Queries-并查集 [Problem Description] 给你一棵树,求有多少条简单路径\((u,v)\),满足 ...

  2. Codeforces Round #582 (Div. 3) G. Path Queries (并查集计数)

    题意:给你带边权的树,有\(m\)次询问,每次询问有多少点对\((u,v)\)之间简单路径上的最大边权不超过\(q_i\). 题解:真的想不到用最小生成树来写啊.... 我们对边权排序,然后再对询问的 ...

  3. Codeforces Round #582 (Div. 3) E. Two Small Strings (构造,思维,全排列)

    题意:给你两个长度为\(2\)的字符串\(s\)和\(t\),你需要构造一个长度为\(3n\)的字符串,满足:含有\(n\)个\(a\),\(n\)个\(b\),\(n\)个\(c\),并且\(s\) ...

  4. Codeforces Round #582 (Div. 3) A. Chips Moving

    传送门 题解: 给你n个数的坐标,你需要把他们移动到一个位置,有两种移动方式 1.向左或者右移动2 2.向左或者右移动1,但是耗费1 求最小耗费 题解: 很简单就可以想到,看一下偶数坐标多还是奇数坐标 ...

  5. Codeforces Round #582 (Div. 3) C. Book Reading

    传送门 题意: 给你n,k.表示在[1,n]这个区间内,在这个区间内找出来所有x满足x%k==0,然后让所有x的个位加到一起(即x%10),输出. 例如:输入10 2 那么满足要求的数是2 4 6 8 ...

  6. Codeforces Round #582 (Div. 3) F. Unstable String Sort

    传送门 题意: 你需要输出一个长度为n的字符序列(由小写字母组成),且这个字符串中至少包含k个不同的字符.另外题目还有要求:给你两个长度为p和q的序列,设字符序列存在s中 那么就会有s[Pi]< ...

  7. Codeforces Round 582

    Codeforces Round 582 这次比赛看着是Div.3就打了,没想到还是被虐了,并再次orz各位AK的大神-- A. Chips Moving 签到题.(然而签到题我还调了20min--) ...

  8. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  9. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

随机推荐

  1. 使用Arthas 获取Spring ApplicationContext还原问题现场

    ## 背景 最近来了个实习僧小弟,安排他实现对目标网站 连通性检测的小功能,简单讲就是将下边的shell 脚本换成Java 代码来实现 ``` 1#!/bin/bash 2URL="http ...

  2. vue之手把手教你写日历组件

    ---恢复内容开始--- 1.日历组件 1.分析功能:日历基本功能,点击事件改变日期,样式的改变 1.结构分析:html 1.分为上下两个部分 2.上面分为左按钮,中间内容展示,右按钮 下面分为周几展 ...

  3. F#周报2019年第32期

    新闻 推出FSharp.Core 4.7,附带netstandard2支持 ML.NET 1.3.1发布 FSharp.SystemTextJson宣告:对于.NET Core的System.Text ...

  4. strstr函数使用中的一个错误解决

    最近使用ESP8266的时候,联网的过程中需要使用strstr函数来读取串口发来的某些重要信息, 使用strstr函数发现某些时候能够正常返回需要寻找的字符串的指针,有些时候找不到,后来发现原来是这样 ...

  5. 分析android studio的项目结构

    以最简单的工程为例子,工程名为随意乱打的Exp5,新建好工程后将项目结构模式换成android: 1.manifests AndroidManifest.xml:APP的配置信息 <?xml v ...

  6. 重读《学习JavaScript数据结构与算法-第三版》-第2章 ECMAScript与TypeScript概述

    定场诗 八月中秋白露,路上行人凄凉: 小桥流水桂花香,日夜千思万想. 心中不得宁静,清早览罢文章, 十年寒苦在书房,方显才高志广. 前言 洛伊安妮·格罗纳女士所著的<学习JavaScript数据 ...

  7. SQL语句完成Excel数据导入数据库表中流程方法及注意事项

    第一步:先查看数据库是否安装AccessDatabaseEngine_X64.exe, 如下图查看: 如果未安装先下载脚本之家下载地址 https://www.jb51.net/softs/29150 ...

  8. Python中的for else 和while else的用法

    for else 在for 循环中,如果没有从任何一个break中退出,则会执行和for对应的else,只要从break中退出了,则else部分不执行. while else while 后面的els ...

  9. 携程PMO--如何召开卓有成效的回顾会

      话题介绍   回顾会提供团队反思迭代过程并提出改进措施的机会.回顾会是团队成员共同进行的协作活动,让团队成员跟进并落实改进措施,使团队在下一个冲刺中更高效,这是相当重要的.   我们给出了回顾会的 ...

  10. spring-boot-plus V1.2.1 发布 文件上传下载和静态资源访问

    [V1.2.1-RELEASE] 2019.08.21 ⭐️ New Features 文件上传保存到服务器指定目录 文件下载 访问上传的图片等资源 启用项目静态资源访问,可访问static/temp ...