常州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$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...
随机推荐
- dp合集 广场铺砖问题&&硬木地板
dp合集 广场铺砖问题&&硬木地板 很经典了吧... 前排:思想来自yali朱全民dalao的ppt百度文库免费下载 后排:STO朱全民OTZ 广场铺砖问题 有一个 W 行 H 列的广 ...
- JS基础循环语句练习
最近这几天一直在做题做题做题,很恶心,很头疼,都快吐了,但是自己的逻辑还是初见成效的,很久不动脑了,有点锈住了,大家也一起来开发下自己的大脑 有关简单排序的小循环 <script> var ...
- CTF--zip伪加密
刷题 一.BUGKU WEB 1. 变量1 知识点php两个$$是 可变变量,就是一个变量的变量名可以动态的设置和使用 $GLOBALS一个包含了全部变量的全局组合数组.变量的名字就是数组的键 < ...
- CSP201604-2:俄罗斯方块
引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的"计算机职业资格认证"考试, ...
- 获取label标签内for的属性值-js
<body> <div class="row_2" id="ass"> <label for="aaa"> ...
- 亚马逊6月18日发布惊世之作 或为3D智能手机
亚马逊将在 6 月 18 日举行一个产品发布会. 其内容可能是关于传闻已久的亚马逊智能手机.该公司在 YouTube 上公布了一段炫耀这款设备的视频.这段视频展示了很多人在这款产品前摇头晃脑,并且表现 ...
- Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器
这篇文章是在OSX上测试和运行的的, Ubuntu下的安装和配置请移步到这里 应用程序进程树, 默认 Poolboy 中初始化10个用于处理图片的 Python 工作进程(Worker) 首先安装Op ...
- 作业要求20181113-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 02
作业要求:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2384 版本控制:[https://git.coding.net/lglr201 ...
- “Hello World!”团队第六周的第二次会议
今天是我们团队“Hello World!”团队第六周召开的第二次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 八.代码 一 ...
- pspo过程文档
项目计划总结: 日期/任务 听课 编写程序 阅读相关书籍 日总计 周一 110 60 ...