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个湖,总要填掉多 ...
随机推荐
- 过时date.toLocaleString()的解决方法
System.out.println(new java.util.Date()); 输出:Thu Jan 27 14:43:28 CST 2011 System.out.println(new jav ...
- PLSQL Developer 连接Linux 下Oracle的安装与配置
一.下载 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 这是Ora ...
- win10重复安装
使用大白菜启动盘装win10的时候,一直循环的重启然后设置,然后再重启,再设置.陷入了死循环. 解决办法:在自定义快捷键那个界面按 Ctrl+Shift+F3 .这是直接进入桌面的快捷键.
- 学习windows编程 day4 之 自定义映射
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- python 小程序,替换文件中的字符串
[root@PythonPC ~]# cat passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x: ...
- .NET面试题系列(十四)锁
锁 分布式锁 如何解决分布式锁超时问题 我们可以让获得锁的线程开启一个守护线程,用来给快要过期的锁“续航” 当过去了29秒,线程A还没执行完,这时候守护线程会执行expire指令,为这把锁“续命”20 ...
- 如何写一个好的缺陷(Defect)报告
编写缺陷报告是测试人员的日常工作,好的缺陷报告能够让开发人员更容易理解,更快速的定位问题:不好的缺陷报告可能会误导调查方向,增加沟通成本.那么一个好的缺陷报告应该包括哪些方面呢? 请看我的mindma ...
- 把ui界面加入到工程中
第一步 from untitled import Ui_Form untitled是ui转化成py的文件名:Ui_Form是转换后的类名 第二步 把Ui_Form做为工程的父类 class ...
- JavaScript之Ajax(一)创建Ajax对象
// 支持浏览器的源码 function AjaxObject() { var AjaxRequest; // 缓存XHR对象便于 Ajax 使用 try { // Opera 8.0+, Firef ...
- MySQL备份可能遇到的坑
MySQL备份工具,支持各种参数选项,使用不同的选项极有可能影响备份处理过程.本文使用我们常规认为合理的备份参数,测试/验证是否存在容易忽视的坑 # 常规备份参数 # mysqldump shell& ...