常州day2
Task1
为了测试小 W 的数学水平,果果给了小 W N 个点,问他这 N 个点能构成的三角形个数。
对于 100%的数据:N<=100,保证任意两点不重合,坐标<=10000
恶心题(卡精度)
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<math.h>
#define il inline
#define re register
using namespace std;
struct P{int x,y;} a[];
int n,cnt=;
il P operator - (P a,P b){
return (P){a.x-b.x,a.y-b.y};
}
il int operator * (P a,P b){
return a.x*b.y-a.y*b.x;
}
int main(){
freopen("tri.in","r",stdin);
freopen("tri.out","w",stdout);
cin>>n;
for(int i=;i<=n;i++)
cin>>a[i].x>>a[i].y;
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
for(int k=j+;k<=n;k++){
if((a[i]-a[j])*(a[i]-a[k])!=){
cnt++;
}
}
cout<<cnt;
return ;
}
Task2
为了测试小 M 的英语水平,Mr.R 让小 M 写英语作文,小 M 则把作文交给了小 W 写。 然而 Mr.R 总结出了那个小 W 写作文的习惯,也就是某些关键的字符串。如果一篇作文 中这若干个关键字符串都出现,他就认为这是小 W 写的。注意,小 W 可能写多篇作文。
第一行一个整数 N,表示关键字符串的个数,N<=100。 接下来 N 行,每行为一个长度不超过 100 的字符串。 最后是若干段文本,每段文本以 $ 结尾。 由于写作文的人太疯狂,每篇作文最长可以达到 1350000 个字符,但作文的个数不超 过 10。
对于 100%的数据:N<=100
简单AC自动机
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<math.h>
#include<string>
#include<string.h>
#include<queue>
#define il inline
#define re register
using namespace std;
int n,a[][],len[],cnt=,end[],fail[],vis[],m;
char s[][],b[];
queue<int> q;
il void match(){
for(int i=;i<=cnt;i++) fail[i]=;
q.push();
while(!q.empty()){
int h=q.front();q.pop();
for(int i=,j;i<;i++) if(a[h][i]>){
j=fail[h];
while(j>&&a[j][i]==) j=fail[j];
if(a[j][i]>&&a[j][i]!=a[h][i]){
fail[a[h][i]]=a[j][i];
}
else fail[a[h][i]]=;
q.push(a[h][i]);
}
}
}
il void getans(){
int j=;
for(int i=;i<m;i++){
while(j>&&a[j][b[i]-'a']==) j=fail[j];
if(a[j][b[i]-'a']>){
j=a[j][b[i]-'a'];vis[j]=;
}
}
}
int main(){
freopen("letter.in","r",stdin);
freopen("letter.out","w",stdout);
scanf("%d",&n);cnt=;
for(int i=,k;i<=n;i++){
scanf("%s",&s[i]);len[i]=strlen(s[i]);k=;
for(int j=;j<len[i];j++){
if(a[k][s[i][j]-'a']) k=a[k][s[i][j]-'a'];
else{
a[k][s[i][j]-'a']=(++cnt);k=cnt;
}
}
end[k]=;
}
match();
while(scanf("%s",b+)!=EOF){
memset(vis,false,sizeof(vis));
m=strlen(b+);getans();
bool flag=true;
for(int i=;i<=cnt;i++)
if(end[i]==&&vis[i]==){
flag=false;
}
if(flag) cout<<"Yes\n";
else cout<<"No\n";
}
return ;
}
常州day2的更多相关文章
- [日常训练]常州集训day2
T1 Description 给定$N$个点,问这$N$个点能构成的三角形个数. Input 第一行一个整数$N$,代表点数. 接下来$N$行,每行两个非负整数$X,Y$,表示一个点的坐标. Outp ...
- 常州培训 day2 解题报告
第一题: 题目大意: 给出一个M面的骰子,投N次,求最大期望值. 最大期望值的定义: 比如M=2,N=2, 那么 2次可以是 1,1,最大值为1: 1,2最大值为2: 2,1最大值为2: 2,2 最大 ...
- 【2016常州一中夏令营Day2】
小 W 学数学[问题描述]为了测试小 W 的数学水平,果果给了小 W N 个点,问他这 N 个点能构成的三角形个数.[输入格式]第一行一个整数 N,代表点数.接下来 N 行,每行两个非负整数 X.Y, ...
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day2
三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...
- java day2一个模拟双色球的代码
package day2; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt ...
- Python基础-day2
1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...
- 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数
本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...
随机推荐
- (转) PHP 开发者该知道的 5 个 Composer 小技巧
1. 仅更新单个库 只想更新某个特定的库,不想更新它的所有依赖,很简单: composer update foo/bar 此外,这个技巧还可以用来解决“警告信息问题”.你一定见过这样的警告信息: Wa ...
- EmitMapper自动映射工具
在实体与DTO之间,我们一般都需要进行映射.如果手动的来进行转换,实在是太麻烦.所以就产生了很多映射工具,比如AutoMapper,EmitMapper.而经过一些对比,EmitMa ...
- Struts 2(三):示例→基于Struts 2的用户注册模块
示例→基于Struts2的用户注册模块 1.用户注册模块需求描述 在用户注册页面中填写用户信息,包括用户名.用户密码.确认密码.姓名等信息,填写完成后提交注册表单给Struts 2的业务控制器Acti ...
- xxl_job springboot改造
代码地址:https://gitee.com/sharehappy/xxl_job_springboot 官方文档:https://github.com/xuxueli/xxl-job/blob/ma ...
- python简介、第一个python程序、变量、字符编码、用户交互程序、if...else、while、for
也愿大家永葆初心-- 已识乾坤大,犹怜草木青. 一.python简介 首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算 ...
- Angular7运行机制--根据腾讯课堂米斯特吴 《Angular4从入门到实战》学习笔记分析完成
- (转)ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)
转:https://www.cnblogs.com/savorboard/archive/2016/10/17/dotnet-benchmarks.html 前言 性能是我们日常生活中经常接触到的一个 ...
- Linux下的计算器(bc、expr、dc、echo、awk)知多少?
linux 其他知识目录 原文链接:http://blog.chinaunix.net/uid-24673811-id-1760837.html linux下的三个命令可以用来作计算,下面一一讲解用法 ...
- c++ Dynamic Memory (part 1)
1. make_shared<T>(args): return a shared_ptr dynamically allocated object of type T. Use args ...
- 九个很有用的php功能
1. 函数的任意数目的参数 你可能知道PHP允许你定义一个默认参数的函数.但你可能并不知道PHP还允许你定义一个完全任意的参数的函数 下面是一个示例向你展示了默认参数的函数: 1 2 3 4 5 6 ...