Codeforces Round #329 (Div. 2)
推迟了15分钟开始,B卡住不会,最后弃疗,rating只涨一分。。。
水(暴力枚举) A - 2Char
/************************************************
* Author :Running_Time
* Created Time :2015/11/4 星期三 21:33:17
* File Name :A.cpp
************************************************/ #include <cstdio>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <bitset>
#include <cstdlib>
#include <ctime>
using namespace std; #define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
typedef long long ll;
const int N = 1e5 + 10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-10;
const double PI = acos (-1.0);
char s[110][1010];
int len[110];
bool ok[110];
vector<char> vec[110]; int main(void) {
int n; scanf ("%d", &n);
for (int i=1; i<=n; ++i) {
scanf ("%s", s[i] + 1);
len[i] = strlen (s[i] + 1);
}
memset (ok, true, sizeof (ok));
int vis[30];
for (int i=1; i<=n; ++i) {
memset (vis, 0, sizeof (vis));
int tot = 0;
for (int j=1; j<=len[i]; ++j) {
if (!vis[s[i][j]-'a']) {
vec[i].push_back (s[i][j]);
vis[s[i][j]-'a'] = 1; tot++;
}
else continue;
if (tot > 2) {
ok[i] = false; break;
}
}
} int ans = 0;
for (char a='a'; a<='z'; ++a) {
for (char b='a'; b<='z'; ++b) {
int tmp = 0;
for (int i=1; i<=n; ++i) {
if (!ok[i]) continue;
bool flag = true;
for (int j=0; j<vec[i].size (); ++j) {
char c = vec[i][j];
if (c != a && c != b) {
flag = false;
}
}
if (flag) tmp += len[i];
}
ans = max (ans, tmp);
}
} printf ("%d\n", ans); //cout << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; return 0;
}
sorting B - Anton and Lines
题意:给了一些直线,问是否在横坐标(x1, x2)范围内有相交的点
分析:很好想到每条直线与x = x1以及x = x2的直线的交点,那么满足相交的条件是y11 < y12 && y12 > y22,也就是逆序对。这样少掉了正好在x1或x2相交的情况,一种方法是L += EPS, R -= EPS,还有一种是排序。还有升级版的问题
/************************************************
* Author :Running_Time
* Created Time :2015/11/4 星期三 21:33:17
* File Name :B_2.cpp
************************************************/ #include <cstdio>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <bitset>
#include <cstdlib>
#include <ctime>
using namespace std; #define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
typedef long long ll;
const int N = 1e6 + 10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-10;
const double PI = acos (-1.0);
struct Y {
double y1, y2;
bool operator < (const Y &r) const {
return y1 < r.y1;
}
}y[N];
/*
快速读入输出(读入输出外挂)!--黑科技
使用场合:huge input (1e6以上)
*/
inline int read(void) {
int f = 1, ret = 0; char ch = getchar ();
while ('0' > ch || ch > '9') {
if (ch == '-') f = -1;
ch = getchar ();
}
while ('0' <= ch && ch <= '9') {
ret = ret * 10 + ch - '0';
ch = getchar ();
}
return ret * f;
} int main(void) {
int n; scanf ("%d", &n);
double x1, x2; scanf ("%lf%lf", &x1, &x2);
x1 += EPS; x2 -= EPS;
double k, b;
for (int i=1; i<=n; ++i) {
scanf ("%lf%lf", &k, &b);
y[i].y1 = k * x1 + b;
y[i].y2 = k * x2 + b;
}
sort (y+1, y+1+n);
bool flag = false;
for (int i=2; i<=n; ++i) {
if (y[i].y2 < y[i-1].y2) {
flag = true; break;
}
}
if (flag) puts ("YES");
else puts ("NO"); // cout << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; return 0;
}
/************************************************
* Author :Running_Time
* Created Time :2015/11/4 星期三 21:33:17
* File Name :B.cpp
************************************************/ #include <cstdio>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <bitset>
#include <cstdlib>
#include <ctime>
using namespace std; #define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
typedef long long ll;
const int N = 1e6 + 10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-10;
const double PI = acos (-1.0);
struct Y {
ll y1, y2;
bool operator < (const Y &r) const {
return y1 < r.y1 || (y1 == r.y1 && y2 < r.y2);
}
}y[N];
/*
快速读入输出(读入输出外挂)!--黑科技
使用场合:huge input (1e6以上)
*/
inline int read(void) {
int f = 1, ret = 0; char ch = getchar ();
while ('0' > ch || ch > '9') {
if (ch == '-') f = -1;
ch = getchar ();
}
while ('0' <= ch && ch <= '9') {
ret = ret * 10 + ch - '0';
ch = getchar ();
}
return ret * f;
} int main(void) {
int n; scanf ("%d", &n);
int x1, x2; scanf ("%d%d", &x1, &x2);
ll k, b;
for (int i=1; i<=n; ++i) {
k = read (); b = read ();
y[i].y1 = k * x1 + b;
y[i].y2 = k * x2 + b;
}
sort (y+1, y+1+n);
bool flag = false;
for (int i=2; i<=n; ++i) {
if (y[i].y2 < y[i-1].y2) {
flag = true; break;
}
}
if (flag) puts ("YES");
else puts ("NO"); // cout << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; return 0;
}
Codeforces Round #329 (Div. 2)的更多相关文章
- Codeforces Round #329 (Div. 2) B. Anton and Lines 逆序对
B. Anton and Lines Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/593/pr ...
- Codeforces Round #329 (Div. 2) D. Happy Tree Party 树链剖分
D. Happy Tree Party Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/593/p ...
- Codeforces Round #329 (Div. 2)B. Anton and Lines 贪心
B. Anton and Lines The teacher gave Anton a large geometry homework, but he didn't do it (as usual ...
- Codeforces Round #329 (Div. 2) D. Happy Tree Party LCA/树链剖分
D. Happy Tree Party Bogdan has a birthday today and mom gave him a tree consisting of n vertecie ...
- Codeforces Round #329 (Div. 2) A. 2Char 暴力
A. 2Char Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/593/problem/A De ...
- Codeforces Round #329 (Div. 2)A 字符串处理
A. 2Char time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- Codeforces Round #329 (Div. 2) D. Happy Tree Party(LCA+并查集)
题目链接 题意:就是给你一颗这样的树,用一个$y$来除以两点之间每条边的权值,比如$3->7$,问最后的y的是多少,修改操作是把权值变成更小的. 这个$(y<=10^{18})$除的权值如 ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
随机推荐
- ThinkPHP 分页实现
TP3.2框架手册,有一个数据分页,不过每次都要写太多的代码,还有中文设置等有些麻烦,做为程序开发者,有必要整理下: O.先看效果图 一.分页方法 /** * TODO 基础分页的相同代码封装,使前台 ...
- vim在选中的几行中查找并替换
(文章是从我的个人主页上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com) 使用vim编辑器是能带来很大的便捷的,如何替换选中的多行中的某个单词呢. 先选中,按下冒号,左下方 ...
- java获得当前文件路径
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...
- HDOJ 1106
#include<iostream> #include<algorithm> #include<string.h> #include<stdlib.h> ...
- 在CentOS 6.4中编译安装gcc 4.8.1
在CentOS 6.4中编译安装gcc 4.8.1 分类: C/C++ Linux/Unix2013-11-28 21:02 1877人阅读 评论(0) 收藏 举报 原文链接:http://www.c ...
- 61. 从1到n,共有n个数字,每个数字只出现一次。从中随机拿走一个数字x,请给出最快的方法,找到这个数字。如果随机拿走k(k>=2)个数字呢?[find k missing numbers from 1 to n]
[本文链接] http://www.cnblogs.com/hellogiser/p/find-k-missing-numbers-from-1-to-n.html [题目] 从1到n,共有n个数字 ...
- ios如何生成crash报告
#include <signal.h> #include <execinfo.h> void OnProcessExceptionHandler(int sigl) { do ...
- 关于https和数字证书的一些必须知识
下面这篇文章叫做 HTTPS连接的前几毫秒发生了什么 ,是一篇译文,写得不错,十分有助于理解https. http://blog.jobbole.com/48369/ 下面的链接是百度文库的 数字证 ...
- 15.python笔记之psutil模块
一.psutil模块 1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...
- codeforces A. Table 解题报告
题目链接:http://codeforces.com/problemset/problem/359/A 题目意思:给出一个n行m列的table,你需要选择一个good cell(假设为(x, y), ...