夹缝

问题描述:

二维空间内有两面相对放置的,向无限远延伸的镜子,以镜子的方向及其法向量建立坐标系,我们选
定一个法向量方向下面称“上”。
在镜子上的整数位置,存在着一些传感器,传感器不影响光线的反射,光线仍旧满足反射定律(即入
射角等于出射角)。
你可以在两面镜子上各选定一个整数位置的点 A B,并从其中一个点向另一个射出一条光线,我
们希望接收到光线的传感器数量尽可能的多。

考试打了暴力+随机骗分。然而还没有一些巨佬直接小范围暴力求答案取max来的分高...

首先是结论:①假设步长为k,那么步长为(2t+1)k的时候覆盖的点是没有直接K来的优秀的,简单易证,感性理解一下

      ②若起点为s,步长为k,那么一边的经过x的条件是:x=s+2tk,另一边经过y的条件是y=s+k+2tk(t∈Z)

所以只要求步长为$2^i$时就好了

 #pragma GCC optimize("Ofast")
#include<bits/stdc++.h>
#define qqq register
using namespace std;
inline int read(){
int ans=,f=;char chr=getchar();
while(!isdigit(chr)){if(chr=='-')f=-;chr=getchar();}
while(isdigit(chr)) {ans=(ans<<)+(ans<<)+chr-;chr=getchar();}
return ans*f;
}const int M=;
int n,m,h,res,p[M],q[M],c[M],ans;
inline void cmax(int &x,int y){if(x<y) x=y;}
int Calc(int x,int z){
x%=z;
if(x<) x+=z;
return x;
}
int Calc(int x,int y,int z){
x%=z;
x+=y;
if(x<) x+=z;
if(x>=z) x-=z;
return x;
}
int main(){
freopen("mirror.in","r",stdin);
freopen("mirror.out","w",stdout);
n=read(),m=read(),h=read();ans=;
for(qqq int i=;i<=n;++i) p[i]=read();
for(qqq int i=;i<=m;++i) q[i]=read();
int ppp=log(1e9)/log();
for(qqq int i=;i<=ppp;++i){
int t1=<<i;
int t2=<<i+;
int tot=;
for(qqq int j=;j<=n;++j) c[++tot]=Calc(p[j],t2);
for(qqq int j=;j<=m;++j) c[++tot]=Calc(q[j],t1,t2);
sort(c+,c+tot+);
for(qqq int j=,k;j<=tot;){
for(k=j;k<=tot&&c[k]==c[j];++k);
cmax(ans,k-j);j=k;
}
}cout<<ans;
return ;
}

[NOIP2019模拟赛]夹缝的更多相关文章

  1. test20190827 NOIP2019 模拟赛

    100+100+50=250.最后那道期望题需要用另外的方式统计. 精灵加护 ljss 被 M 个敌人打倒在地上啦!每个敌人有一个威力值 bi.但是他手中还拥有 N 把武器!每把武器有一个威力值 ai ...

  2. test20190826 NOIP2019 模拟赛

    100+100+40=240.我觉得如果没做过第三题考场上却能想出来的都是神仙. 基因突变 [问题描述] 邪恶的 707 刚刚从白垩纪穿越回来,心中产生了一个念头:我要统治人类! 但是统治人类是很庞大 ...

  3. test20190818 NOIP2019 模拟赛

    0+0+20=20,不给大样例,小数据又水,还没有题解的垃圾题. A 题 问题描述: long long ago, Lxhgww 统治的国家里有 n 个城市,其中某一个城市是 capital (首都) ...

  4. test20190816 NOIP2019 模拟赛

    100+100+20=220,T3吐槽:整个考室没有一个人正确地理解了题意. 树上路径(phantasm) Akari 的学校的校门前生长着一排 n 棵树,从西向东依次编号为 1 ∼ n.相邻两棵树间 ...

  5. 题解 noip2019模拟赛Day1T3

    题面 运河计划 问题描述 水运在人类的交通运输史中一直扮演着重要的角色.借助河流.的便利,人们得以把大量的货物输送到天南海北不仅仅是自然界现成的河流,人工开凿的运河(如苏伊士运河.巴拿马运河.我国的京 ...

  6. [NOIP2019模拟赛]LuoguP4261白金元首与克劳德斯

    题目描述 给出坐标系中n个矩形,类型1的矩形每单位时间向x轴正方向移动1个单位,类型2的矩形向y轴正方向,初始矩形不重叠,一个点被矩形覆盖当且仅当它在矩形内部(不含边界),求$(-\infty ,+\ ...

  7. [NOIP2019模拟赛][AT2381] Nuske vs Phantom Thnook

    题目链接 评测姬好快啊(港记号?)暴力40pts变成60pts 因为题目说了保证蓝色点两两之间只有一条路径,所以肯定组成了一棵树,而对于每次询问的x1,y1,x2,y2的子矩阵中就存在着一个森林 不难 ...

  8. [NOIP2019模拟赛]HC1147 时空阵

    题目描述: 幽香这几天学习了魔法,准备建造一个大型的时空传送阵. 幽香现在可以在幻想乡的n个地点建造一些传送门,如果她建造了从地点a与地点b之间的传送门,那么从a到b和从b到a都只需要单位1的时间. ...

  9. [NOIP2019模拟赛]数数(gcd)

    题目大意: 求l~r中有多少数与x互质,带单点修改 分析: 两个30的部分分很好打: ·n<=1000暴力O(nq)就好了 ·$a_i<=100$用树状数组维护每个x的前缀和就好了 100 ...

随机推荐

  1. hive常见的存储格式

    Hive常见文件存储格式 背景:列式存储和行式存储 首先来看一下一张表的存储格式: 字段A 字段B 字段C A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4 A5 B5 C5 行 ...

  2. HDU-1226-超级密码-队列+广搜+大数取模

    Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息: 密码是一个C进制的数,并且只能由给定的M个数字构成,同 ...

  3. jquery操作html元素之(添加元素)

    添加新的 HTML 内容 我们将学习用于添加新内容的四个 jQuery 方法: append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在 ...

  4. 从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1)

    从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1) 假设数据已经是排序好的 #include <stdio.h> #include & ...

  5. 基于pandas数据预处理基础操作

    # -*- coding: utf-8 -*- import numpy as np import pandas as pd #一.创建数据 #1.通过传递一个list对象来创建一个Series,pa ...

  6. msSql Server 修复数据库

    --rz要替换为修复数据库DBCC CHECKTABLE ('rz'); use master declare @databasename varchar(255) set @databasename ...

  7. RobotFramework Selenium2 EXCUTE JAVASCRIPT

    https://www.cnblogs.com/lixy-88428977/p/9563247.html

  8. (依赖注入框架:Ninject ) 一 手写依赖注入

    什么是依赖注入? 这里有一个场景:战士拿着刀去战斗: 刀: class Sword { public void Hit(string target) { Console.WriteLine($&quo ...

  9. Let's Encryt免费SSL证书申请[我司方案]

    Let's Encrypt颁发的证书是目前生产的大多数浏览器都信任的,您只需下载并运行Let's Encrypt客户端来生成一个证书即可. 在颁发证书之前,需要验证您的域名的所有权.首先,在您的主机上 ...

  10. 给大家介绍一下linux系统高级命令

    输出重定向(mip.0834jl.com) ;覆盖文件内容 回声' 123 ' 测试;覆盖原始内容 回声' 123 ' 测试;原始存在(共存) echo 'ken2 '(www.jl0834.com) ...