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

  1. [日常训练]常州集训day2

    T1 Description 给定$N$个点,问这$N$个点能构成的三角形个数. Input 第一行一个整数$N$,代表点数. 接下来$N$行,每行两个非负整数$X,Y$,表示一个点的坐标. Outp ...

  2. 常州培训 day2 解题报告

    第一题: 题目大意: 给出一个M面的骰子,投N次,求最大期望值. 最大期望值的定义: 比如M=2,N=2, 那么 2次可以是 1,1,最大值为1: 1,2最大值为2: 2,1最大值为2: 2,2 最大 ...

  3. 【2016常州一中夏令营Day2】

    小 W 学数学[问题描述]为了测试小 W 的数学水平,果果给了小 W N 个点,问他这 N 个点能构成的三角形个数.[输入格式]第一行一个整数 N,代表点数.接下来 N 行,每行两个非负整数 X.Y, ...

  4. 【从零开始学BPM,Day2】默认表单开发

    [课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...

  5. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  6. day2

    三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...

  7. java day2一个模拟双色球的代码

    package day2; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt ...

  8. Python基础-day2

    1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...

  9. 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数

    本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...

随机推荐

  1. loadrunner之做压力测试要做的准备

    前提B/S架构 1.要有个备库和主库保存一致 到时候做压力测试的时候,要断开主库连接到备库.进行测试.以免主库出现垃圾数据.2.节点 判断单节点能承受多大的压力,如200万的用户账号,10万的在线用户 ...

  2. MySQL☞大结局

    emmm,看了这么多大概会用了点点,学到了一点点 select  列名/*/聚合函数 from  表名1 别名1  连接查询(左外.右外等等) 表名2 别名2 on 关联条件 where 查询条件 g ...

  3. Python中的内建函数(Built_in Funtions)

    前言 在Python官方文档的标准库章节中,第一节是简介,第二节就是Built_in Functions,可见内建函数是Python标准库的重要组成部分,而有很多内建函数我们平时却很少用到或根本就不知 ...

  4. Unity —— 通过鼠标点击控制物体移动

    //ClickMove - - 通过鼠标点击控制物体移动 using System.Collections; using System.Collections.Generic; using Unity ...

  5. 二叉树的宽度<java版>

    二叉树的宽度 思路:层序遍历的时候,记录每层的节点数量,最后取记录中的最多的数量. 代码实现: public int solution(TreeNode node){ LinkedList<Tr ...

  6. java使用jacob将office文档转换为PDF格式

    jacob 包下载地址: http://sourceforge.net/projects/jacob-project/ 下载后,将jacob 与 jacob-1.19-x64.dll放到安装jdk目录 ...

  7. Windows下使用WinRAR命令自动备份文件

    最近有一个需求:为了防止数据丢失,每天对固定文件夹下的文件进行打包压缩备份. 解决办法:使用Windows的任务计划程序,每天执行一下压缩命令: Windows任务计划程序在这里就不再介绍了,网上有很 ...

  8. Centos7 Ntp 时间服务器

    Centos7 Ntp 时间服务器 安装环境 [root@m02 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 安装 ...

  9. UUID.randomUUID()简单介绍

    UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OS ...

  10. rest_framework之渲染器

    渲染器简介 什么是渲染器 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 渲染器的作用 序列化.友好的展示数据 渲染器配置 首先要在settins.py中将rest_framew ...