Codeforces Round #582 (Div. 3)
题目链接: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)的更多相关文章
- Codeforces Round #582 (Div. 3)-G. Path Queries-并查集
Codeforces Round #582 (Div. 3)-G. Path Queries-并查集 [Problem Description] 给你一棵树,求有多少条简单路径\((u,v)\),满足 ...
- Codeforces Round #582 (Div. 3) G. Path Queries (并查集计数)
题意:给你带边权的树,有\(m\)次询问,每次询问有多少点对\((u,v)\)之间简单路径上的最大边权不超过\(q_i\). 题解:真的想不到用最小生成树来写啊.... 我们对边权排序,然后再对询问的 ...
- Codeforces Round #582 (Div. 3) E. Two Small Strings (构造,思维,全排列)
题意:给你两个长度为\(2\)的字符串\(s\)和\(t\),你需要构造一个长度为\(3n\)的字符串,满足:含有\(n\)个\(a\),\(n\)个\(b\),\(n\)个\(c\),并且\(s\) ...
- Codeforces Round #582 (Div. 3) A. Chips Moving
传送门 题解: 给你n个数的坐标,你需要把他们移动到一个位置,有两种移动方式 1.向左或者右移动2 2.向左或者右移动1,但是耗费1 求最小耗费 题解: 很简单就可以想到,看一下偶数坐标多还是奇数坐标 ...
- 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 ...
- Codeforces Round #582 (Div. 3) F. Unstable String Sort
传送门 题意: 你需要输出一个长度为n的字符序列(由小写字母组成),且这个字符串中至少包含k个不同的字符.另外题目还有要求:给你两个长度为p和q的序列,设字符序列存在s中 那么就会有s[Pi]< ...
- Codeforces Round 582
Codeforces Round 582 这次比赛看着是Div.3就打了,没想到还是被虐了,并再次orz各位AK的大神-- A. Chips Moving 签到题.(然而签到题我还调了20min--) ...
- 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 ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
随机推荐
- Something wrong with EnCase v8 index search results
My friend told me that she installed EnCase v8.05 on her workstation which OS version is Win 10. She ...
- Python 使用k-means方法将列表中相似的句子聚为一类
由于今年暑假在学习一些自然语言处理的东西,发现网上对k-means的讲解不是很清楚,网上大多数代码只是将聚类结果以图片的形式呈现,而不是将聚类的结果表示出来,一下代码将老师给的代码和网上的代码结合了一 ...
- 佳木斯集训Day5
今天是ACM赛制...本来可以400的,结果毒瘤T2模拟硬生生卡掉了我90分 T1是个大水题,找规律,5分钟AC没啥压力 #include <bits/stdc++.h> #define ...
- 转载 | textarea 在浏览器中固定大小和禁止拖动
HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 ...
- 微服务与网关技术(SIA-GateWay)
一.背景 软件架构,总是在不断的演进中... 把时间退回到二十年之前,当时企业级领域研发主要推崇的还是C/S模式,PB.Delphi这样的开发软件是企业应用开发的主流.随着时间的推移,基于浏览器的B/ ...
- 本地(任意)时间戳转化(转换)标准时间格式 js(eg:2019-05-07 17:49:12)
<script> function getLocalTime(timestamp) { // 如果以秒为单位 // var dateObj = new Date(timestamp * 1 ...
- [JavaScript] 节流(throttle)-防抖(debounce) 不懵圈指北
网易云课堂 > 微专业 > 前端高级开发工程师 01.前端高级-JavaScript进阶 > 3.函数式编程 Underscore源码分析 > 3.4.3 throttle 与 ...
- Python爬虫(一)抓取指定的页面
(以下是在windows环境下的操作,python版本为3) 1.urllib库介绍 官方文档上的解释是: urllib is a package that collects several modu ...
- c排序
#pragma once//如果写头文件 放置头文件重复包含 #include<stdio.h> //定义类型 结构体类型定义 //宏定义 #define //函数申明 void prin ...
- 一篇文章让你马上入门Hibernate
在前面我们学完了Struts2,接下来我们就要去学习第二个框架Hibernate. 那什么是Hibernate? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对 ...