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)的更多相关文章

  1. Codeforces Round #328(Div2)

    CodeForces 592A 题意:在8*8棋盘里,有黑白棋,F1选手(W棋往上-->最后至目标点:第1行)先走,F2选手(B棋往下-->最后至目标点:第8行)其次.棋子数不一定相等,F ...

  2. Codeforces Round #326(Div2)

    CodeForces 588A 题意:Duff喜欢吃肉,想在接下来的n天,每天都有Ai斤肉吃,但每一天肉的单价Pi不定,肉 可以保存不过期,现已知n天每天肉的斤数Ai,以及单价Pi,为了使每天都   ...

  3. Codeforces Round #468(div2)

    A Friends Meeting 题意:有两个人在数轴上的不同位置,现在他们需要到一个位置碰面.每次每人只能向左或向右走1个单位,轮流进行.每个人第一次走时疲劳度+1,第二次走时疲劳度+2,以此类推 ...

  4. Educational Codeforces Round 64(ECR64)

    Educational Codeforces Round 64 CodeForces 1156A 题意:1代表圆,2代表正三角形,3代表正方形.给一个只含1,2,3的数列a,ai+1内接在ai内,求总 ...

  5. Codeforces Round #499(Div2) C. Fly (二分精度)

    http://codeforces.com/contest/1011/problem/C 题目 这是一道大水题! 仅以此题解作为我这个蒟蒻掉分的见证 #include<iostream> ...

  6. codeforces Educational Codeforces Round 16-E(DP)

    题目链接:http://codeforces.com/contest/710/problem/E 题意:开始文本为空,可以选择话费时间x输入或删除一个字符,也可以选择复制并粘贴一串字符(即长度变为两倍 ...

  7. 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; 注意剪枝,不然会超时: 代码: ...

  8. Codeforces Round #581(Div. 2)

    Codeforces Round #581(Div. 2) CF 1204 A. BowWow and the Timetable 题解:发现,$4$的幂次的二进制就是一个$1$后面跟偶数个$0$. ...

  9. 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的字符串,要求你将其切割为 ...

随机推荐

  1. mysql随机字符串函数

    drop function if exists rand_str; delimiter $$ ) charset 'utf8' begin # 定义接收初始化类型 ) ; # 定义初始化数字 ) '; ...

  2. filter 过滤器从数组中选择一个子集

    输入过滤器可以通过一个管道字符和一个过滤器添加到指令中,该过滤器后面跟着一个冒号:冒号后面是一个模型名称. <!DOCTYPE html><html><head>& ...

  3. 2、SpringBoot------数据转换

    开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/Springboot/tree/083bb312526653d27ca56abf4f586e097c ...

  4. linux 设置自动关机和重启命令shutdown

    1.shutdown使用命令:Shutdown [选项] [时间] r 关机后立即重启 h 关机 2. 立即关机: shutdown -h now

  5. ReplaceChar

    好吧,给个char的,替换单个字符.这样会快一些吧,这个是置换,连长度都不用了 bool ReplaceChar(char *str,const char src, const char dst){ ...

  6. 第34-2题:LeetCode113. Path Sum II

    题目 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ ...

  7. 洛谷P1437 [HNOI2004]敲砖块(dp)

    题目背景 无 题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 ...

  8. cncert阅读报告

    信息安全阅读报告 Problem 1: 国家计算机网络应急技术处理协调中心(简称“国家互联网应急中心”,英文缩写为“CNCERT”或“CNCERT/CC”)作为我国非政府层面网络安全应急体系核心技术协 ...

  9. docker-compose 构建mongodb并导入基础数据示例

    使用docker-compose构建mongodb服务并导入基础数据示例. 1.文件目录结构 ——mongo/ |——docker-compose.yml |——mongo-Dockerfile |— ...

  10. MongoDB模糊查询

    模糊查询简介MongoDB查询条件可以使用正则表达式,从而实现模糊查询的功能.模糊查询可以使用$regex操作符或直接使用正则表达式对象. MySQL  MongoDB select * from s ...