Codeforces Round #329(Div2)
CodeForces 593A
题意:n个字符串,选一些字符串,在这些字符串中使得不同字母最多有两个,求满足这个条件可选得的最多字母个数。
思路:用c[i][j]统计文章中只有i,j对应两个字母出现的字符串的长度和。
c[i][i]表示只有一个字母字符串的累计长度。
c[i][j] i!=j时:i>j i<-->j i与j交换。
统计完以后,i,j 0->26. i==j ans=max(max,c[i][i]) i!=j ans=max(max,c[i][j]+c[i][i]+c[j][j])
注意:不能直接暴力,存下每个字符串出现不超过两个不同的字母,再进行两重循环判断,这样比较复杂,并且answer不对。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std; int n,c[][],len;
char s[]; void deal()
{
len=strlen(s);
int f=,x,y,z;
for(int j=;j<len;j++)
{
z=s[j]-'a';
if(f==)
{
x=z;
f++;
}
else if(f==&&x!=z)
{
y=z;
f++;
}
else if(f==&&x!=z&&y!=z)
{
f++;
break;
}
}
if(f==)
c[x][x]+=len;
else if(f==)
{
if(y<x)
{
int t=x;x=y;y=t;
}
c[x][y]+=len;
}
} int countt()
{
int maxx=;
for(int i=;i<;i++)
for(int j=i;j<;j++)
{
if(i!=j)
maxx=max(maxx,c[i][j]+c[i][i]+c[j][j]);
else
maxx=max(maxx,c[i][j]);
}
return maxx;
} int main()
{
while(~scanf("%d",&n))
{
memset(c,,sizeof(c));
for(int i=;i<n;i++)
{
scanf("%s",s);
deal();
}
printf("%d\n",countt());
}
return ;
}
CodeForces 593B
题意:在一个坐标中,给定x1,x2.为一个区间范围,给出n条线的Ki,Bi. Yi=Xi*Ki+Bi x1<Xi<x2.求这些线在x1,x2中间是否有交点。
思路:可以求出每条线与x1,x2的交点,即Y的取值范围。
例:r1,r2与x1分别交点L1,L2,与x2分别交点R1,R2。两条线相交,必须满足:L1<L2&&R1>R2 || L1>L2&&R1<R2
数据n范围为1e5,直接暴力比较n^2会超时。可利用sort()排序,nlogn. 在排序中对两条线的端点进行判断标记即可
注意:数据范围!!!!
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=1e5+; int n,x1,x2,flag;
struct node
{
int l,r;
}p[maxn]; bool cmp(node a,node b)
{
if((a.l<b.l&&a.r>b.r)||(a.r<b.r&&a.l>b.l))
flag=;
if(a.l==b.l)
return a.r<b.r;
return a.l<b.l;
} int main()
{
int x,y;
while(~scanf("%d",&n))
{
flag=;
scanf("%d%d",&x1,&x2);
for(int i=;i<n;i++)
{
scanf("%d%d",&x,&y);
p[i].l=x*x1+y;
p[i].r=x*x2+y;
}
sort(p,p+n,cmp);
printf("%s\n",flag==?"YES":"NO");
}
return ;
}
Codeforces Round #329(Div2)的更多相关文章
- Codeforces Round #328(Div2)
CodeForces 592A 题意:在8*8棋盘里,有黑白棋,F1选手(W棋往上-->最后至目标点:第1行)先走,F2选手(B棋往下-->最后至目标点:第8行)其次.棋子数不一定相等,F ...
- Codeforces Round #326(Div2)
CodeForces 588A 题意:Duff喜欢吃肉,想在接下来的n天,每天都有Ai斤肉吃,但每一天肉的单价Pi不定,肉 可以保存不过期,现已知n天每天肉的斤数Ai,以及单价Pi,为了使每天都 ...
- Codeforces Round #468(div2)
A Friends Meeting 题意:有两个人在数轴上的不同位置,现在他们需要到一个位置碰面.每次每人只能向左或向右走1个单位,轮流进行.每个人第一次走时疲劳度+1,第二次走时疲劳度+2,以此类推 ...
- Educational Codeforces Round 64(ECR64)
Educational Codeforces Round 64 CodeForces 1156A 题意:1代表圆,2代表正三角形,3代表正方形.给一个只含1,2,3的数列a,ai+1内接在ai内,求总 ...
- Codeforces Round #499(Div2) C. Fly (二分精度)
http://codeforces.com/contest/1011/problem/C 题目 这是一道大水题! 仅以此题解作为我这个蒟蒻掉分的见证 #include<iostream> ...
- codeforces Educational Codeforces Round 16-E(DP)
题目链接:http://codeforces.com/contest/710/problem/E 题意:开始文本为空,可以选择话费时间x输入或删除一个字符,也可以选择复制并粘贴一串字符(即长度变为两倍 ...
- cf_ducational Codeforces Round 16_D(gcd)
题意:求R-L区间满足x=a1*k+b1=a2*l+b2的x的个数; 思路:求出最小的满足条件的x0,则ans=(L-x)/(a1/gcd(a1, a2)*a2)+1; 注意剪枝,不然会超时: 代码: ...
- Codeforces Round #581(Div. 2)
Codeforces Round #581(Div. 2) CF 1204 A. BowWow and the Timetable 题解:发现,$4$的幂次的二进制就是一个$1$后面跟偶数个$0$. ...
- codeforces 572(Div2)A、B、C、D1、D2、E
Cdoeforces 572(Div2)A.B.C.D1.D2.E 传送门:https://codeforces.com/contest/1189 A.题意: 给你一串长为n的字符串,要求你将其切割为 ...
随机推荐
- Tomcat启动排查
Tomcat启动排查 一.参考 https://blog.csdn.net/baidu_32739019/article/details/64155136
- BZOJ2683: 简单题(cdq分治 树状数组)
Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 2142 Solved: 874[Submit][Status][Discuss] Descripti ...
- 【杂题总汇】HDU2018多校赛第九场 Rikka with Nash Equilibrium
[HDU2018多校赛第九场]Rikka with Nash Equilibrium 又是靠这样一道题擦边恰好和第两百名分数一样~愉快
- spring-AspectJ
动态代理 ProxyFactoryBean织入切面数量太多不利于围护 BeanNameAutoProxyCreater-------------根据Bean名称创建代理 DefaultAdvisorA ...
- MySQL时间戳、时间
MySQL中: now():获取当前时间:例:SELECT now(); // 结果:2018-07-03 13:40:14 unix_timestamp():将时间转换为时间戳:例: SELECT ...
- 多任务版udp聊天器
import socket import threading def send_msg(udp_socket): """获取键盘数据,并将其发送给对方"&quo ...
- Uboot S3C2440 BL1 的流程
1. reset 中断向量表 2. 进入reset (1) 设置svc32 模式 (2) flash I/D caches (3)disable MMU 和 cache (4)2440 没有o ...
- Docker虚拟化容器的使用
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...
- mount加载虚拟机增强工具步骤
1.创建一个挂载目录sudo mkdir /mnt/cdrom 2.在C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso中添加该文件 3 ...
- Hive 的企业优化
优化 数据优化 一.从大表拆分成小表(更快地检索) 引用:Hive LanguageManual DDL eg2:常用于分表 create table if not exists default.ce ...