题目:链接: https://pan.baidu.com/s/1ef_9hGBhczW0B4dz5IUKmw 密码: qgjy

T1:

hash后直接二分查询即可

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
inline long long read()
{
long long f=,ans=;char c;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){ans=ans*+c-'';c=getchar();}
return ans*f;
}
char str[];
long long sum[];
long long b[];
long long bb=;
long long maxn=;
long long l,r,mid;
long long u,v;
bool check(long long x)
{
long long x1=sum[u+x-]-sum[u-]*b[x];
// cout<<sum[u+x-1]<<" "<<sum[u-1]<<" "<<b[x]<<" "<<x1<<endl;
long long x2=sum[v+x-]-sum[v-]*b[x];
// cout<<sum[v+x-1]<<" "<<sum[v-1]<<" "<<b[x]<<" "<<x2<<endl;
return x1==x2;
}
int main()
{
b[]=;
for(int i=;i<=;i++) b[i]=b[i-]*bb;
scanf("%s",str+);
long long len=strlen(str+);
for(long long i=;i<=len;i++) sum[i]=sum[i-]*bb+(str[i]-'a'+);
long long n=read();
for(long long i=;i<=n;i++)
{
u=read(),v=read();
l=,r=len-max(u,v)+;
maxn=;
while(l<=r)
{
mid=(l+r)/;
if(check(mid))
{
maxn=max(maxn,mid);
l=mid+;
}else r=mid-;
}
printf("%d\n",maxn);
}
}
/*
aabaabab
1
2 7
*/

T2:

因为作者能力有限,数学技巧过于高深,所以先给std,学完以后再重新补写

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
inline int read()
{
int x=,t=,c;
while(!isdigit(c=getchar()))if(c=='-')t=-;
while(isdigit(c))x=x*+c-'',c=getchar();
return x*t;
}
int sig(long long x)
{
if(x<)return -;
else if(!x)return ;
return ;
}
long long gcd(long long a,long long b){return b?gcd(b,a%b):a;}
class Vector
{
public:
long long x,y;
Vector(long long _x=,long long _y=)
{
x=_x;
y=_y;
}
Vector operator + (const Vector &b) const
{
return Vector(x+b.x,y+b.y);
}
Vector operator - (const Vector &b) const
{
return Vector(x-b.x,y-b.y);
}
long long operator * (const Vector &b) const
{
return x*b.x+y*b.y;
}
};
class Line
{
public:
long long a,b,c;
Line(Vector v0,Vector v1)
{
a=v0.x-v1.x;
b=v0.y-v1.y;
swap(a,b);
a=-a;
c=gcd(a,b);
a/=c;
b/=c;
c=a*v0.x+b*v0.y;
}
Line(long long _a=,long long _b=,long long _c=)
{
a=_a;
b=_b;
c=_c;
}
int side(Vector v)
{
return sig(v*Vector(a,b)-c);
}
}l1,l2;
void Solve()
{
int n=read();
Vector v0,v1,u0,u1;
v0.x=read();v0.y=read();v1.x=read();v1.y=read();
l1=Line(v0,v1);
bool res=;
while(n--)
{
u0.x=read();u0.y=read();u1.x=read();u1.y=read();
l2=Line(u0,u1);
if(l1.a*l2.b==l1.b*l2.a)
{
if(l1.c*l2.b==l2.c*l1.b)
{
long long l0=,r0=(v1-v0)*(v1-v0),l1=(u0-v0)*(v1-v0),r1=(u1-v0)*(v1-v0);
if(l0<=r1&&l1<=r0)res=;
}
}
else
{
if(l1.side(u0)!=l1.side(u1)&&l2.side(v0)!=l2.side(v1))res=;
}
}
if(res)puts("YES");
else puts("NO");
}
int main()
{
freopen("intersect.in","r",stdin);
freopen("intersect.out","w",stdout);
int T=read();
while(T--)Solve();
}

std

T3:

dijkstra倒推,加优先队列优化,设dis[n]=0,dis[i]=min{dis[i],max(最大限制,dis[x(i为起点的终点)]+所对应需要的能量)}

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
inline long long read()
{
long long f=,ans=;char c;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){ans=ans*+c-'';c=getchar();}
return ans*f;
}
priority_queue<pair<long long,long long > > que;
long long n,m,cnt=;
struct node{
long long a,b,c,m,nex;
}x[];
long long head[];
long long vis[];
long long dis[];
void add(long long u,long long v,long long c,long long m)
{
x[cnt].a=u,x[cnt].b=v,x[cnt].c=c,x[cnt].m=m;
x[cnt].nex=head[u],head[u]=cnt++;
}
long long inf;
int main()
{
memset(head,-,sizeof(head));
memset(dis,/,sizeof(dis));
inf=dis[];
n=read(),m=read();
for(long long i=;i<=m;i++)
{
long long u=read(),v=read(),c=read(),m=read();
add(u,v,c,m);
add(v,u,c,m);
}
dis[n]=;
que.push(make_pair(,n));
while(!que.empty())
{
long long xx=que.top().second;que.pop();
if(vis[xx]==) continue;
vis[xx]=;
for(long long i=head[xx];i!=-;i=x[i].nex)
{
if(dis[x[i].b]>max(x[i].m,dis[xx]+x[i].c))
{
dis[x[i].b]=max(x[i].m,dis[xx]+x[i].c);
que.push(make_pair(-dis[x[i].b],x[i].b));
} }
}
if(dis[]!=inf) cout<<dis[];
else cout<<-;
}

四连测Day2的更多相关文章

  1. 四连测Day4

    四连爆炸 卡我常数 好像被AluminumGod拉到了创客...哇我这个天天爆炸的水平可能会被其他三位dalao吊起来打 orz Edmond-Karp_XiongGod orz Deidara_Wa ...

  2. 【2018.8.10】四连测day4 题解

    T1:给出一棵 $n$ 个节点的无根树,其中 $m$ 个节点是特殊节点,求对于任意 $i ∈ [0, m]$,包含 $i$ 个特殊节点的联通块个数$\mod 998244353$. $1<=n, ...

  3. 四连测总结(XYX)

    目录 成绩 总结 事后... 成绩 telephonewire monkey 总分 0 56 56 cowjog guard path temperature 总分 0 40 0 68 108 cba ...

  4. 正睿 2018 提高组十连测 Day2 T2 B

    题目链接 http://www.zhengruioi.com/contest/84/problem/318 题解写的比较清楚,直接扒过来了. B 算法 1 直接按题意枚举,动态规划或是记忆化搜索. 时 ...

  5. 四连测Day3

    题目链接:https://pan.baidu.com/s/1_vsHfMI_qO-9IDxmFLkHfg 密码: uza8 T1: 小奥的一笔画,判连通性,查奇偶点即可 #include<ios ...

  6. 四连测Day1

    题目:链接: https://pan.baidu.com/s/163ycV64ioy7uML7AvRDTGw 密码: p86i T1: 倍增求LCA,minn数组记录最小值 #include<i ...

  7. ZROI 提高十连测 DAY2

    总结:入题尽量快,想到做法要先证明是否正确是否有不合法的情况,是否和题目中描述的情景一模一样.    不要慌 反正慌也拿不了多少分,多分析题目的性质如果不把题目的性质分析出来的话,暴力也非常的难写,有 ...

  8. (四连测)滑雪场的高度差题解---二分 + 搜索---DD(XYX)​​​​​​​的博客

    滑雪场的高度差 时间限制: 1 Sec  内存限制: 128 MB 题目描述 滑雪场可以看成M x N的网格状山地(1 <= M,N <= 500),每个网格是一个近似的平面,具有水平高度 ...

  9. STM32—TIMx实现编码器四倍频

    文章目录 一.储备知识 二.TIMx的编码器模式介绍 1.计数边沿设置 2.选择极性和使能 3.使能 4.计数方向 三.代码部分 一.储备知识 通过STM32的定时器编码器接口模式对编码器进行四倍频, ...

随机推荐

  1. Qt PC 安卓 tcp传输文件

    废话不多说,如题,上代码 qt PC端 头文件 //网络部分 #include <QTcpSocket> #include <QFile> #include <QFile ...

  2. 【rich-text】 富文本组件说明

    [rich-text] 富文本组件可以显示HTML代码样式. 1)支持事件:tap.touchstart.touchmove.touchcancel.touchend和longtap 2)信任的HTM ...

  3. ORACLE高级部分内容

    1.pl/sql基本语句 DECLARE BEGIN END; / 循环语句 DECLARE I  NUMBER(2):=1; BEGIN WHILE I<100 LOOP I:=I+1; EN ...

  4. 网络安全部门的漏洞扫描让你头痛不已么——PHP环境选它就可以了

    最近网络安全要求是越来越严,原来PHP编写的程序在XAMPP或者其他环境下总会被某款软件扫出漏洞,进而上级部门就停止了我们服务器的外网出口,然而自从发现了一款安全环境神器UPUPW后,这样的问题就再也 ...

  5. vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题

    虚拟机使用的是VMware Workstation,并且首次在虚拟机体验64 位系统.在新建好虚拟机,运行时候就出现了VMware Workstation 的提醒:此主机支持 Intel VT-x,但 ...

  6. Python3 Tkinter-Canvas

    1.创建 from tkinter import * root=Tk() cv=Canvas(root,bg='black') cv.pack() root.mainloop() 2.创建item f ...

  7. 春招实习汇总(7个offer)

    转载出处 刚从北京到家,总算也可以歇歇了,最近一段时间真是忙于奔命的感觉,也确实体会到了找工作的艰辛,总而言之,求职之路,如人饮水,冷暖自知. 我想把这段时间找工作的体验和经历分享出来告诉大家,让大避 ...

  8. linux下php环境配置

    参: http://www.laozuo.org/5542.html LAMP,基于Linux/Apache/MySQL/PHP架构的网站建设环境,对于一般的网站来说足够使用,如果我们的网站访问量或者 ...

  9. 转 【.NET平台下使用MongoDB入门教程】

    目录 一.了解MongoDB 二.MongoDB特点 三.安装及常用命令 3.1 下载安装 3.2 启动服务器 3.3 常用操作 3.4 其他命令 3.5 做成windows服务 四.批处理程序开启M ...

  10. Zigbee安全基础篇Part.3

    原文地址: https://www.4hou.com/wireless/14294.html 导语:在之前的文章中提供了ZigBee协议及其安全功能的简要概述.在本文中,我们将探讨可在ZigBee网络 ...