cordforce Educational Codeforces Round 47 补题笔记 <未完>
题目链接
http://codeforces.com/contest/1009
A. Game Shopping
直接模拟即可,用了一个队列来存储账单
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#define ll long long
using namespace std; const int MAX = ; queue<int> bill;
int c[MAX];
int main(){
int gameNum, billNum;
cin >> gameNum >> billNum;
int t;
for(int i = ; i < gameNum; i++) cin >> c[i];
for(int i = ; i < billNum; i++){
cin >> t;
bill.push(t);
}
int ans = ;
int x = bill.front();
for(int i = ; i < gameNum; i++){
if(x >= c[i]){
ans++;
bill.pop();
if(bill.empty()) break;
x = bill.front();
}
}
cout << ans << endl;
}
B. Minimum Ternary String
思维题
题意是10可以互换位置,12可以互换位置,求将输入序列转为最小字典序
可以发现,1是可以处于序列中任何位置的,因此我们记录1的数量,构造这样一个序列
在第一个2前插入所有1,这样能使的2全部往后靠到最后
注意不要忽略没有2的序列情况
#include <iostream>
#include <cstdio>
#include <algorithm>
#define ll long long using namespace std; int const MAX = ; int main(){
int a[MAX];
char c;
int len = ;
while((c = getchar()) != '\n'){
a[len++] = c - '';
}
int oneNum = ;
for(int i = ; i < len; i++){
if(a[i] == ){
oneNum++;
}//1可以放置于任意位置,先全部取出
}
for(int i = ; i < len; i++){
if(a[i] == ){
cout << ;
}
else if(a[i] == ){
while(oneNum){
cout << ;
oneNum--;
}
cout << ;
}
}
while(oneNum){
cout << ;
oneNum--;
}
cout << endl;
}
C. Annoying Present
通过特定变换使得数列平均值达到最大
只要稍微分类一下就可以计算出各种情况
应该考虑精度问题,使用cout应该设置精度
#include <iostream>
#include <algorithm>
#include <iomanip>
#define ll long long
using namespace std; const int MAX = ; ll sum(int n){
ll ans = ;
for(int i = ; i <= n; i++){
ans+=i;
}
return ans;
} int main(){
ll x, d;
ll ans = , n, m;
cin >> n >> m;
ll t1 = sum(n-);
if(n% == ){
ll t2 = sum((n-)/);
for(int i = ; i < m; i++){
cin >> x >> d;
ans+=x*n;
if(d >= ){
ans+=d*t1;
}
else{
ans += *d*t2;
}
}
}
else{
ll t2 = sum(n/-);
for(int i = ; i < m; i++){
cin >> x >> d;
ans+=x*n;
if(d >= ){
ans+=d*t1;
}
else{
ans += *d*t2+n*d/;
}
}
}
cout.precision();
cout << ans*1.0/n << endl;
}
cordforce Educational Codeforces Round 47 补题笔记 <未完>的更多相关文章
- Educational Codeforces Round 27 补题
题目链接:http://codeforces.com/contest/845 A. Chess Tourney 水题,排序之后判断第n个元素和n+1个元素是不是想等就可以了. #include < ...
- Educational Codeforces Round 23 补题小结
昨晚听说有教做人场,去补了下玩. 大概我的水平能做个5/6的样子? (不会二进制Trie啊,我真菜) A. 傻逼题.大概可以看成向量加法,判断下就好了. #include<iostream> ...
- Educational Codeforces Round 12补题 经典题 再次爆零
发生了好多事情 再加上昨晚教育场的爆零 ..真的烦 题目链接 A题经典题 这个题我一开始推公式wa 其实一看到数据范围 就算遍历也OK 存在的问题进制错误 .. 思路不清晰 两个线段有交叉 并不是端点 ...
- Educational Codeforces Round 22 补题 CF 813 A-F
A The Contest 直接粗暴贪心 略过 #include<bits/stdc++.h> using namespace std; int main() {//freopen(&qu ...
- Educational Codeforces Round 47 (Rated for Div. 2) 题解
题目链接:http://codeforces.com/contest/1009 A. Game Shopping 题目: 题意:有n件物品,你又m个钱包,每件物品的价格为ai,每个钱包里的前为bi.你 ...
- Educational Codeforces Round 47 (Div 2) (A~G)
目录 Codeforces 1009 A.Game Shopping B.Minimum Ternary String C.Annoying Present D.Relatively Prime Gr ...
- Educational Codeforces Round 47 (Rated for Div. 2) :E. Intercity Travelling
题目链接:http://codeforces.com/contest/1009/problem/E 解题心得: 一个比较简单的组合数学,还需要找一些规律,自己把方向想得差不多了但是硬是找不到规律,还是 ...
- Educational Codeforces Round 47 (Rated for Div. 2) :B. Minimum Ternary String
题目链接:http://codeforces.com/contest/1009/problem/B 解题心得: 题意就是给你一个只包含012三个字符的字符串,位置并且逻辑相邻的字符可以相互交换位置,就 ...
- Educational Codeforces Round 15 套题
这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib& ...
随机推荐
- C语言实现通用链表初步(一)
注意:本文讨论的是无头单向非循环链表. 假设不采用Linux内核链表的思路,怎样用C语言实现通用链表呢? 一种常用的做法是: typedef int element_t; struct node_in ...
- GET 和 POST详解
什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程 ...
- Javascript 学习 Boolean
构造函数 new Boolean(value) //构造函数 Boolean(value) //转换函数 参数 value 由布尔对象存放的值或者要转换成布尔值的值 返回值 当作为一个构造函数(带有运 ...
- 云计算&大数据相关知识
1.极客学院云计算&大数据总链接:http://wiki.jikexueyuan.com/list/cloud/ 一.NSQ相关参考资料: 1.极客学院NSQ指南:http://wiki.ji ...
- jeecg3.8popup弹出窗口触发失去焦点事件,引发验证弹窗,影响体验问题的解决办法
在初始化表单的代码中添加以下加粗部分,有几个popup就定义几个标志位,主要是防止第一次失去焦点时候的弹窗(此时还未来得及选择),提交表单的时候还是会正常校验的. //popup触发失去焦点事件,设置 ...
- JVM:java类的加载机制
原文连接:https://www.cnblogs.com/ityouknow/p/5603287.html 类加载机制的奥妙. 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读 ...
- python的字符串操作
1.修改大小写 (1)title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写.这很有用, 因为你经常需要将名字视为信息.例如,你可能希望程序将值Ada.ADA和ada视为同一个名 ...
- intellijidea课程 intellijidea神器使用技巧2-1 无处不在的跳转
idea快捷键(基于windows平台) 1 书签跳转 Ctrl alt [ ] ==> 项目之间的跳转 Ctrl shift E ==> 文件之间的跳转(最近编辑的文件) Ctrl ...
- css 两大特性:继承性和层叠性
css 有两大特性: 继承性和层叠性, 继承性 面向对象语言都会存在继承的概念,在面向对象的语言中,继承的特点:继承了父类的属性和方法.那么我们现在主要研究css,css中没有方法,所以我们仅仅继承属 ...
- 栅格那点儿事(一)---Raster是个啥子东西
Raster是个啥子东西 现如今,不仅是在遥感应用中能看到花花绿绿的影像了,在GIS应用中也能随处看到她们的身影.在各种在线地图中,卫星影像作为底图与矢量的道路层叠加:高程DEM作为高程来源实现地形的 ...