cf 1082abc
还是菜,两题dp一题模拟
/*
反正就两个方向,往左或者往右,如果都不行,那就是-1
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,y,d,t;
scanf("%d",&t);
while(t--){
scanf("%d%d%d%d",&n,&x,&y,&d);
if(abs(y-x)%d==) {
printf("%d\n",abs(y-x)/d);
continue;
}
else {
if((y-)%d!= && (n-y)%d!=){
puts("-1");
continue;
}
int r=-,l=-;
if((n-y)%d==){
if((n-x)%d==) r=(n-x)/d;
else r=(n-x)/d+;
r+=(n-y)/d;
} if((y-)%d==){
if((x-)%d==) l=(x-)/d;
else l=(x-)/d+;
l+=(y-)/d;
} if(l==-) printf("%d\n",r);
else if(r==-) printf("%d\n",l);
else printf("%d\n",min(l,r));
}
} }
/*
给定一串字符,只有两个字母G,S,允许交换一次任意两个字母,问交换后最长连续的G是多长
*/
#include<bits/stdc++.h>
using namespace std;
#define maxn 200005
int n,a[maxn];
int L[maxn],R[maxn],tot=;
int main(){ char s[maxn];
scanf("%d%s",&n,s+);
for(int i=;i<=n;i++){
if(s[i]=='G'){
tot++;
a[i]=a[i-]+;
}
else a[i]=a[i-];
}
for(int i=;i<=n;i++)
if(s[i]=='G') L[i]=L[i-]+;
else L[i]=;
for(int i=n;i>=;i--)
if(s[i]=='G') R[i]=R[i+]+;
else R[i]=; int ans=;
for(int i=;i<=n;i++){//要么是包括该点的左连续,要么是该点之前的左连续+该点之外的右连续+1
ans=max(ans,L[i]);
ans=max(ans,L[i-]+R[i+]+);
}
printf("%d\n",min(ans,tot));
}
/*
一次排序后,sum[i]表示每种专业选取i个人的最大值
*/
#include<bits/stdc++.h>
using namespace std;
#define maxn 100005
#define ll long long
ll sum[maxn];
vector<int>a[maxn];
vector<ll>::iterator it;
int tot[maxn];
int cmp(int a,int b){
return a>b;
}//降序排列 int main(){
int n,m,id,val,mx=;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++){
scanf("%d%d",&id,&val);
a[id].push_back(val);
tot[id]++;
}
for(int i=;i<=m;i++)
sort(a[i].begin(),a[i].end(),cmp); for(int i=;i<=m;i++){
ll tmp=;
for(int j=;j<a[i].size();j++){
tmp+=a[i][j];
if(tmp>)//总和为负的不能加
sum[j]+=tmp;
}
}
ll ans=;
for(int i=;i<n;i++)
ans=max(ans,sum[i]);
printf("%lld\n",ans); return ;
}
cf 1082abc的更多相关文章
- ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'
凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- cf Round 613
A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- CF memsql Start[c]UP 2.0 A
CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...
- CF memsql Start[c]UP 2.0 B
CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...
- CF #376 (Div. 2) C. dfs
1.CF #376 (Div. 2) C. Socks dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...
- CF #375 (Div. 2) D. bfs
1.CF #375 (Div. 2) D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...
随机推荐
- python自动化运维之路~DAY5
python自动化运维之路~DAY5 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...
- 学习windows编程 day2 之滚动条使用
相关函数: setscrollrange,setscrollpos,getscrollrange,getscrollpos 使用滚动条时我们需要进行的操作: 1.初始化滚动条范围和位置 在窗口创建时W ...
- ruby where用法
用法1 Subject.where(").order("name") 用法2 与find方法不同的是,where方法返回的结果不是数组而是ActiveRelation,这 ...
- CentOS下安装zookeeper并设置开机自启动
转自: 一.安装zookeeper # cd /opt/ # mkdir zookeeper # cd zookeeper/ # tar -zxvf zookeeper-3.4.6.tar.gz # ...
- java基础面试题常出现(一)
1.”==“和equals方法的区别? 1. ==操作符,对于基本数据类型变量,比较的是两个值是否相等,而对于引用类型,比较的是引用的内存的首地址,即引用同一个对象.1 Obeject的equal ...
- 〖C语言学习笔记 〗(一) HelloWorld
前言 本文为c基础入门学习笔记 正文 HelloWorld #include <stdio.h> //标准输出流 int main() //每种语言都有一个执行入口,main方法就是其一 ...
- pyqt5-多线程QThread类
要实现多线程,我们要先继承QThread类并重新实现其中的run()函数,也就是说把耗时的操作放入run()函数中 import sys from PyQt5.QtCore import Qt, QT ...
- slice() 和splice()
splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改. 1, splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. splice ...
- JavaScript之JS单线程|事件循环|事件队列|执行栈
本博文基于知乎"JavaScript作用域问题?"一问,而引起了对JavaScript事件循环和单线程等概念与实践上的研究.深入理解. 一.概念 0.关键词:JavaScript单 ...
- CSS进阶之SASS入门指南
CSS进阶之SASS入门指南 随着跟着公司学习项目的前端的推进,越来越对好奇了许久的SASS垂涎欲滴,哈哈,可能这个词使用不当,没有关系,就是对SASS有一股神秘的爱!好了,闲话不多说 ...