CodeForces 70
A题
#include<bits/stdc++.h>
using namespace std;
int n,b,sum;
int main(){
scanf("%d",&n);
if (n==0){
printf("1\n");
return 0;
}
int b=3,sum=1;
for (int i=1;i<n;++i)
sum=(sum*b)%1000003;
printf("%d",sum);
return 0;
}
B题
难得我能在一群大佬中抢个一血的题
#include<bits/stdc++.h>
using namespace std;
string s;
vector<int>a;
int n,m,ans;
int main(){
scanf("%d",&n),m=1;
getline(cin,s);getline(cin,s);
for(register int i=0;i<s.size();++i)
if(s[i]!='?'&&s[i]!='.'&&s[i]!='!')
++m;
else if(m>n){
printf("Impossible\n");
return 0;
}
else a.push_back(m),m=0;
for(register int i=0;i<a.size();++i)
if(m+a[i]+1<=n&&m>0)
m+=a[i]+1;
else
++ans,m=a[i];
printf("%d\n",ans);
return 0;
}
C题 (siyuan)
#include <bits/stdc++.h>
#define MAXN 100010
using namespace std;
int maxx,maxy,w,b,cd,x;
pair<int,int> f[MAXN],f1[MAXN],ans;
map<pair<int,int>,int> a,b1;
inline pair<int,int> sc(int maxx,int maxy,int w){
int x=MAXN,y=MAXN;
for(int i=1,j=0,s=0;i<=maxx;++i){
a[f[i]]++,s+=b1[f1[i]];
while(s<w&&j<maxy)
s+=a[f1[++j]],b1[f[j]]++;
while(j>0&&s-a[f1[j]]>=w)
s-=a[f1[j]],b1[f[j]]--,j--;
if(s>=w&&(1LL*i*j<1LL*x*y))
x=i,y=j;
}
return pair<int,int>(x,y);
}
int main(){
scanf("%d%d%d",&maxx,&maxy,&w);
for(int i=1;i<=max(maxx,maxy);i++){
b=0,x=i;
while (x) b=b*10+x%10,x/=10;
cd=__gcd(i,b);
f[i]=pair<int,int>(i/cd,b/cd);
f1[i]=pair<int,int>(b/cd,i/cd);
}
ans=sc(maxx,maxy,w);
if(ans.first==100010)
printf("-1\n");
else
printf("%d %d\n",ans.first,ans.second);
return 0;
}
D题
517昨天刚刚讲过的题,可我还是不会,我太菜了
#include <bits/stdc++.h>
using namespace std;
const double MIN=1e-8;
const double pi=3.141592653589793238462643383;
int q,i,c,x[10],y[10],xx,yy,x1,x2,yy1,y2;
struct Node{
double a,b,c,d;
Node(double x=0,double y=0){
a=x,b=y,c=sqrt(x*x+y*y);
if (abs(x)<MIN){
if (y>MIN)
d=pi*0.5;
else d=pi*(-0.5);
}
else{
if (x>MIN)
d=atan(y/x);
else{
if (y>MIN)
d=pi+atan(y/x);
else
d=-pi+atan(y/x);
}
}
}
}p;
Node operator-(Node a,Node b){
return Node(a.a-b.a,a.b-b.b);
}
double operator*(Node a,Node b){
return a.a*b.b-a.b*b.a;
}
bool operator<(Node a,Node b){
if (a.d==b.d)
return a.c<b.c;
else
return a.d<b.d;
}
bool operator>(Node a,Node b){
if (a.d==b.d)
return a.c>b.c;
else
return a.d>b.d;
}
set<Node>s;
set<Node>::iterator s1;
set<Node>::iterator nex(set<Node>::iterator x){
x++;
if (x==s.end())
return s.begin();
else
return x;
}
set<Node>::iterator pre(set<Node>::iterator x){
if (x==s.begin())
x=s.end();
x--;
return x;
}
int main(){
scanf("%d",&q);q-=3;
for (int i=0;i<3;++i){
scanf("%d%d%d",&c,&x[i],&y[i]);
x1=x1+x[i],yy1=yy1+y[i];
}
x1/=3.0,yy1/=3.0;
for (int i=0;i<3;++i)
s.insert(Node(x[i]-x1,y[i]-yy1));
while (q--){
scanf("%d%d%d",&c,&x2,&y2);
xx=x2-x1,yy=y2-yy1;
p=Node(xx,yy);
s1=s.lower_bound(p);
if(s1==s.end())
s1=s.begin();
if (c==1){
if ((p-*pre(s1))*(*s1-p)>MIN){
s.insert(p);
s1=nex(s.find(p));
while (s.size()>3&&(*s1-p)*(*nex(s1)-*s1)<MIN){
s.erase(s1);
s1=nex(s.find(p));
}
s1=pre(s.find(p));
while (s.size()>3&&(*s1-*pre(s1))*(p-*s1)<MIN){
s.erase(s1);
s1=pre(s.find(p));
}
}
}
else {
if ((p-*pre(s1))*(*s1-p)<MIN)
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}
E题
这题就不放自己的代码了,siyuan小姐姐真的tql%%%
CodeForces 70的更多相关文章
- codeforces 70 D. Professor's task 动态凸包
地址:http://codeforces.com/problemset/problem/70/D 题目: D. Professor's task time limit per test 1 secon ...
- Codeforces Beta Round #70 (Div. 2)
Codeforces Beta Round #70 (Div. 2) http://codeforces.com/contest/78 A #include<bits/stdc++.h> ...
- 水题 Codeforces Beta Round #70 (Div. 2) A. Haiku
题目传送门 /* 水题:三个字符串判断每个是否有相应的元音字母,YES/NO 下午网速巨慢:( */ #include <cstdio> #include <cstring> ...
- 【55.70%】【codeforces 557A】Ilya and Diplomas
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 【22.70%】【codeforces 591C】 Median Smoothing
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- Codeforces 331A2 - Oh Sweet Beaverette (70 points)
贪心搞就行,用map记录每个数出现的下标,每次都取首尾两个.将中间权值为负的删掉后取sum值最大的就行. #include<iostream> #include<algorithm& ...
- 【29.70%】【codeforces 723D】Lakes in Berland
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- Educational Codeforces Round 70 (Rated for Div. 2)
这次真的好难...... 我这个绿名蒟蒻真的要崩溃了555... 我第二题就不会写...... 暴力搜索MLE得飞起. 好像用到最短路?然而我并没有学过,看来这个知识点又要学. 后面的题目赛中都没看, ...
- Educational Codeforces Round 70 题解
噩梦场. 题目出奇的难,好像一群外国老哥看 A 看着看着就哭了-- A 找到 \(b\) 最低的 \(1\),这个 \(1\) 肯定要跟 A 中的一个 \(1\) 搭配,而且是能搭配的 \(1\) 中 ...
随机推荐
- angular应用容器化部署
angular 应用容器化部署 Intro 我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...),但是记录了我对于前端框架及工具的一些实践, 从开始只有一个 angularjs 制作 ...
- 部署 Prometheus Operator - 每天5分钟玩转 Docker 容器技术(179)
本节在实践时使用的是 Prometheus Operator 版本 v0.14.0.由于项目开发迭代速度很快,部署方法可能会更新,必要时请参考官方文档. 下载最新源码 git clone https: ...
- C# Math的说有函数 以及说明
Math.Abs(x) x绝对值 Math.Acos(x) ...
- Operating system error 32(failed to retrieve text for this error. Reason: 15105)
一台数据库服务器的事务日志备份作业偶尔会出现几次备份失败的情况,具体的错误信息为: DATE/TIME: 2018/7/30 12:10:52 DESCRIPTION: BackupDiskFi ...
- Linux学习历程——Centos 7 top命令
一.命令介绍 top 命令用于动态的监控进程活动与系统负载信息. 格式为 top [参数] 二.实例 直接运行top命令 top命令执行结果的前五行为系统整体的统计信息,代表含义如下: 第1行:系统时 ...
- GoldenDict词典的超级实用高级玩法----全文搜索功能
快捷键: Ctrl+Shift+F 菜单进入:搜索--全文搜索 模式:正则表达式 比如:我想知道地道的英文表达 请xx天/周/年假 给搜索框写入正则表达式 请(.)(天|周|年)假 就可以了 ...
- Zookeeper与Kafka基础概念和原理
1.zookeeper概念介绍 在介绍ZooKeeper之前,先来介绍一下分布式协调技术,所谓分布式协调技术主要是用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种共享资源,防止造成 ...
- 英语口语练习系列-C05-水电
<登幽州台歌>·陈子昂 陈子昂(公元659-公元700年),唐代文学家,初唐诗文革新人物之一. Num 诗句 1 前不见古人, 2 后不见来者. 3 念天地之悠悠, 4 独怆然而涕下! T ...
- 周末班:Python基础之面向对象进阶
面向对象进阶 类型判断 issubclass 首先,我们先看issubclass() 这个内置函数可以帮我们判断x类是否是y类型的子类. class Base: pass class Foo(Base ...
- 文本分类实战(六)—— RCNN模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...