还是菜,两题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的更多相关文章

  1. 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 ...

  2. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  3. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  4. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  5. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  6. 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 ...

  7. 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 ...

  8. CF #376 (Div. 2) C. dfs

    1.CF #376 (Div. 2)    C. Socks       dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...

  9. CF #375 (Div. 2) D. bfs

    1.CF #375 (Div. 2)  D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...

随机推荐

  1. Django 2.0.3 使用笔记

    运行环境: Python 3.5.2 Django 2.0.3 Django Admin中model显示为中文 定义model时,定义一个Meta对象,设置需要显示的中文名称.verbose_name ...

  2. 继承的方式完成包装__attr__

    __getattr__    当实例要调用的属性不存在的时候会触发 __setattr__    当实例要设置属性的时候会触发 __delattr__    当实例要删除属性的时候会触发 这三个方法是 ...

  3. P2885 [USACO07NOV]电话线Telephone Wire

    P2885 [USACO07NOV]电话线Telephone Wire 最近,Farmer John的奶牛们越来越不满于牛棚里一塌糊涂的电话服务于是,她们要求FJ把那些老旧的电话线换成性能更好的新电话 ...

  4. 20190312 Windows上Kafka集群

    1. 复制config/server.properties为server1.properties和server2.properties 2. 以server1.properties为例,修改配置 br ...

  5. 远程客户端连接MysqL数据库太慢解决方案

    远程客户端连接MysqL数据库太慢解决方案局域网客户端访问mysql 连接慢问题解决. cd /etc/mysql vi my.conf [mysqld] skip-name-resolve 此选项禁 ...

  6. 学习windows编程 day6 之模拟记事本

    //短的函数最好定义为宏 #define BUFFER(x,y) *(y*cxBuffer+x+pBuffer)//取出一个字符 //字符消息 //WM_CHAR,WM_DEADCHAR,WM_SYS ...

  7. JAVA-集合类型Set常用操作例子(基础必备)

    package com.net.xinfang.reflect; import java.util.Comparator; import java.util.HashSet; import java. ...

  8. POJ - 1584 A Round Peg in a Ground Hole(判断凸多边形,点到线段距离,点在多边形内)

    http://poj.org/problem?id=1584 题意 按照顺时针或逆时针方向输入一个n边形的顶点坐标集,先判断这个n边形是否为凸包. 再给定一个圆形(圆心坐标和半径),判断这个圆是否完全 ...

  9. UESTC - 1168 凤神与狗

    原题链接 凤神隐居山林,与猫狗为伴.起初,他拥有cc只猫和dd只狗.每天下午他随机从中选择一只出去游玩并且晚上归来.如果他带的是狗,则第二天早上狗的数量增加ww只,否则,猫的数量增加ww只.由于凤神特 ...

  10. Java编程思想 学习笔记11

    十一.持有对象  通常,程序总是根据运行时才知道的某些条件去创建新对象.在此之前,不会知道所需对象的数量,甚至不知道确切的类型. Java实用库还提供了一套相当完整的容器类来解决这个问题,其中基本的类 ...