2018-12-5 及 codeforces round 525v2
突然发现五天没记录了,这五天学习完全没有按着正常规划进行,先罗列一下吧。
- 机器学习视频第一周的全部看完了。
- 算法导论看了几页。
- 参加了一次CF。rating只加了20,看来提高实力才是最关键的。
- C++找到了侯捷老师的视频。
- 貌似记不得什么了。
记录一下昨天的CF题解吧。
题目链接:http://codeforces.com/contest/1088
A题:理论上可以用暴力搜,但是除一之外所有的答案都可以写成"x x",不再写代码解释。
B题:题意为数组中的每一个数每次都减去一个最小的数,并输出这个数。可以先排序,然后下面展示的是O(n)复杂度的算法。
#include<iostream>
#include<vector>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[100005];
int main(){
int n,k;
scanf("%d%d",&n,&k);
for(int i = 0; i < n; i++){
scanf("%d",&a[i]);
}
sort(a,a+n);
int sumsub = 0;
int j = 0;
while(k--){
while(j <n && a[j] <= sumsub) j++;
if(j == n) printf("0\n");
else {
printf("%d\n",a[j]-sumsub);
sumsub = a[j];
}
}
return 0;
}
C题:题目提到了两个操作,要求在n+1个操作之内讲数组变为升序。可以转化为前n个操作讲n个数对n+1的余数变为递增,然后最后一步对n+1取模。
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int a[10000];
vector<pair<int,int>> ans;
int main(){
int n ;
scanf("%d",&n);
for(int i = 1; i <= n; i++){
scanf("%d",&a[i]);
}
int cnt = 0;
int sum = 0;
for(int i = n; i >= 1; i--){
if((sum+a[i])%(n+1) == i) continue;
else {
cnt++;
int d = (sum+a[i])%(n+1);
if(i > d) {ans.push_back(make_pair(i,i-d));sum+=i-d;}
else {ans.push_back(make_pair(i,n+1+i-d));sum+=n+1+i-d;}
}
}
cnt++;
printf("%d\n",cnt);
for(int i = 0; i < cnt-1;i++){
printf("1 %d %d\n",ans[i].first,ans[i].second);
}
printf("2 %d %d",n,n+1);
return 0;
}
D题思路是对的,但是因为一些原因没有去做,不然可能这次就上蓝了。
#include<iostream>
using namespace std;
int query(int a,int b){
cout << "? "<<a<<" "<<b<<endl;
int res;
cin >> res;
return res;
}
int a = 0,b = 0;
int main(){
bool comp = (query(0,0) == 1);
for(int i = 29; i >= 0; i--){
int p = query(a,b|1<<i);
int q = query(a|1<<i,b);
if(p == 1 && q == -1){
a = a|1<<i;
b = b|1<<i;
}else if( p == -1 && q == 1){
continue;
}else{
if(comp) a = a|1<<i;
else b = b|1<<i;
comp = (p==1);
}
}
cout << "! "<<a<<" "<<b<<endl;
return 0;
}
以后每天都记录一下吧
2018-12-5 及 codeforces round 525v2的更多相关文章
- 2018.9.20 Educational Codeforces Round 51
蒟蒻就切了四道水题,然后EF看着可写然而并不会,中间还WA了一次,我太菜了.jpg =.= A.Vasya And Password 一开始看着有点虚没敢立刻写,后来写完第二题发现可以暴力讨论,因为保 ...
- Codeforces 1023 A.Single Wildcard Pattern Matching-匹配字符 (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)
Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A. Single Wildcard Patter ...
- Codeforces Round #525 (Div. 2)
Codeforces Round #525 (Div. 2) 哎,忍不住想吐槽一下,又要准备训练,又要做些无聊的事,弄得我都想退出了. 好好的训练不好么???? 只能做出两道水题,其实C题,感觉做出来 ...
- Codeforces Round #523 (Div. 2)
Codeforces Round #523 (Div. 2) 题目一览表 来源 考察知识点 完成时间 A Coins cf 贪心(签到题) 2018.11.23 B Views Matter cf 思 ...
- Codeforces Round #284 (Div. 2)A B C 模拟 数学
A. Watching a movie time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #268 (Div. 2) ABCD
CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...
- Codeforces Round #270 1001
Codeforces Round #270 1001 A. Design Tutorial: Learn from Math time limit per test 1 second memory l ...
- Codeforces Round #223 (Div. 2) A
A. Sereja and Dima time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- Codeforces Round #368 (Div. 2) C. Pythagorean Triples(数学)
Pythagorean Triples 题目链接: http://codeforces.com/contest/707/problem/C Description Katya studies in a ...
随机推荐
- 【Java】socket编程,输入输出中的问题
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWri ...
- 安装、验证安装 Oracle Database XE 11gR2
操作系统:Windows 10 x64 第一节:下载 Oracle Database XE 11gR2 第二节:安装.验证安装 Oracle Database XE 11gR2 第三节:Oracle ...
- docker-compose应用
docker-compose应用 需求编写compose模板文件,实现同时启动tomcat.mysql.redis容器. 1.编写模板文件 #新建文件夹mkdir -p /tzh/compose_te ...
- 多测师讲解_ 高级自动化测试selenium_001基本学习
高级自动化测试python+selenium教程手册 --高级讲师肖sir 第 1 章webdriver 环境搭建好了,我们正式学习 selenium 的 webdriver 框架,它不像 QTP 之 ...
- 【转】了解nodejs、javascript间的关系!bom&dom&ecmascript
地址:https://www.cnblogs.com/JetpropelledSnake/p/9450810.html bom&dom:https://www.cnblogs.com/wang ...
- 解读JVM虚拟机
概要点: java虚拟机概述和基本概念 堆.栈.方法区 了解虚拟机参数 垃圾回收概念和算法.及对象的分代转换 垃圾收集器 java虚拟机的原理: 所谓虚拟机,就是一台虚拟的机器.它是一款软件,用来执行 ...
- rs485转以太网转换器
rs485转以太网转换器ZLAN5103 实现RS485转以太网(即485转网口)主要一个硬件转换器和一个软件驱动.硬件转换器分为两种:串口服务器(串口联网服务器.串口通信服务器).串口联网模块.RS ...
- Java中字符串相关操作(判断,增删,转换)
1:判断字符串中是否包含某个字符(字符串): startsWith(): 这个方法有两个变体并测试如果一个字符串开头的指定索引指定的前缀或在默认情况下从字符串开始位置 此方法定义的语法如下: publ ...
- Elasticsearch索引的操作,利用kibana 创建/删除一个es的索引及mapping映射
索引的创建及删除 1. 通过索引一篇文档创建了一个新的索引 .这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射. 利用Kibana提供的DevTools来执行命令,要创建一个索引 ...
- jmeter 相关
Don't use GUI mode for load testing !, only for Test creation and Test debugging. For load testing, ...