T1

给出一二维01矩阵\(f_{i,j}\), 定义点\((x_a, y_a), (x_b, y_b)\)的「距离」为\(max\{|x_a-x_b|, |y_a-y_b|\}\)

求出一矩阵\(w\), 使得\(w_{i,j}\)为\(f\)中所有距点\((i,j)\)「距离」小于等于\(r\)的点权值之和

\(r \leq n \leq 250\)

解法

二维前缀和大力维护即可

T2

一个小岛\(Abstinence\)上的居民非常喜欢一种不含酒精的啤酒,迄今为止这种不含酒精的啤酒只能从波兰进口。但是今年,\(Abstinence\)岛上的一个城市要建一座酿酒厂。所有的城市都坐落于海岸线上,而且它们仅被一条沿着海岸线绕岛一周的公路所连接。酿酒厂的投资商收集了所有城市对这种酒的需求量,即每个城市每天需要多少桶酒。他同时也有一张两个相邻城市之间的距离表。运输上的花费是每桶每英里一元。一天的啤酒运输费用是从酿酒厂将啤酒运送到各个城市所需的费用总和。每天的花费取决于酒厂的位置,投资商希望找到建厂的位置以使每天的运输花费最小。

在输入文件的BRO.IN中的第一行包含一个整数\(n\), \(5 \leq n \leq 10000\),表示城市的个数,(我们假设城市沿着公路编号,相邻的城市有相邻的编号,城市\(1\)和\(n\)也是相邻的)。以下的\(n\)行,每行有两个被一个空格隔开的非负整数\(z_i\),\(d_i\),表示第\(i\)个城市对啤酒的日需求量和该城市沿高速公路到下一个城市的距离。整条公路的长度不超过\(1000000\)英里,每个城市的日需求量不超过\(1000\)桶。

解法

考虑枚举所有点并依次计算答案, 很明显这会超时

考虑对于当前选择建厂点顺时针移动的过程来说, 逆时针到达它的点的个数是单调不下降并且小于等于\(n\)的, 顺时针到达它的点的个数是单调不上升并且大于等于\(0\)的.

换句话说, 一个点在当前选择建厂点定向移动会且仅会被分成两端区间, 使得一段是到达当前选择建厂点最短路是顺时针的, 一段是到达当前选择建厂点最短路是逆时针的.

即每个点的顺逆状态最多只会被更新一次, \(O(n)\)

T3

现在我们在一个平面上画了n个矩形。每一个矩形的两边都与坐标轴相平行,且矩形定点的坐标均为整数。现我们定义满足如下性质的图形为一个块:

  • 每一个矩形都是一个块;
  • 如果两个块有一段公共的部分,那么这两个块就会形成一个新的块,否则这两个块就是不同的。

示例:
图1中的矩形形成了两个不同的块。
图2中的矩形形成了一个块。

在输入文件PRO.IN的第一行有一个整数\(n\),\(1 \leq n \leq 7000\),表示矩形的个数。接下来的n行描述矩形的顶点,每个矩形用四个数来描述:左下顶点坐标\((x,y)\)与右上顶点坐标\((u,vc)\)。每个矩形的坐标都是不超过10000的非负整数。

解法

暴力枚举\(O(n^2)\)个矩形后使用近似\(O(\alpha(n))\)的并查集维护即可, 注意常数

T4

现在我们在一张纸上有一个笛卡尔坐标系。我们考虑在这张纸上用铅笔从左到右画的折线。我们要求任何两个点之间连接的直线段与\(x\)轴的夹角在\(-45°~45°\)之间,一条满足以上条件的折线称之为平坦的折线。假定给出了\(n\)个不同的整点(坐标为整数的点),最少用几条平坦的折线可以覆盖所有的点?

示例:

图中有\(6\)个整点:\((1,6), (10,8), (1,5), (2,20), (4,4), (6,2)\),要覆盖它们至少要\(3\)条平坦的折线。

在输入文件lam.in的第一行有一个正整数\(n\),不超过\(30000\),代表点的个数。接下来的\(n\)行表示这些点的坐标,每行有两个用一个空格隔开的整数\(x\),\(y\),\(0 \leq x \leq 30000\), \(0 \leq y \leq 30000\)。第\(i+1\)行的数字代表第\(i\)个点的坐标。

解法

考虑点\((x_a, y_a), (x_b, y_b)\)可以被连接的充分必要条件: \(|\frac{y_a-y_b}{x_a-x_b}| \leq tan \frac{\pi}{4} (=1)\)

这等价于\(|y_a-y_b| \leq |x_a-x_b|\), 即\(y_b-x_b \leq y_a-x_a\)且\(y_b+x_b \leq y_a+x_a\)

按一维排序另一维贪心即可

JZOJ-2019-11-5 B组的更多相关文章

  1. JZOJ 【NOIP2016提高A组集训第16场11.15】兔子

    JZOJ [NOIP2016提高A组集训第16场11.15]兔子 题目 Description 在一片草原上有N个兔子窝,每个窝里住着一只兔子,有M条路径连接这些窝.更特殊地是,至多只有一个兔子窝有3 ...

  2. JZOJ 【NOIP2016提高A组集训第16场11.15】SJR的直线

    JZOJ [NOIP2016提高A组集训第16场11.15]SJR的直线 题目 Description Input Output Sample Input 6 0 1 0 -5 3 0 -5 -2 2 ...

  3. 2019.11.9 csp-s 考前模拟

    2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...

  4. EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

    传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...

  5. [New!!!]欢迎大佬光临本蒟蒻的博客(2019.11.27更新)

    更新于2019.12.22 本蒟蒻在博客园安家啦!!! 本蒟蒻的博客园主页 为更好管理博客,本蒟蒻从今天开始,正式转入博客园. 因为一些原因,我的CSDN博客将彻底不会使用!!!(带来不便,敬请谅解) ...

  6. JZOJ2020年8月11日提高组T4 景点中心

    JZOJ2020年8月11日提高组T4 景点中心 题目 Description 话说宁波市的中小学生在镇海中学参加计算机程序设计比赛,比赛之余,他们在镇海中学的各个景点参观.镇海中学共有n个景点,每个 ...

  7. JZOJ2020年8月11日提高组T3 页

    JZOJ2020年8月11日提高组T3 页 题目 Description 战神阿瑞斯听说2008年在中华大地上,将举行一届规模盛大的奥林匹克运动会,心中顿觉异常兴奋,他想让天马在广阔的天空上,举行一场 ...

  8. JZOJ2020年8月11日提高组T2 宝石

    JZOJ2020年8月11日提高组T2 宝石 题目 Description 见上帝动了恻隐之心,天后也想显示一下慈悲之怀,随即从口袋中取出一块魔术方巾,让身边的美神维纳斯拿到后堂的屏风上去试试,屏风是 ...

  9. JZOJ2020年8月11日提高组T1 密码

    JZOJ2020年8月11日提高组T1 密码 题目 Description 在浩浩茫茫的苍穹深处,住着上帝和他的神仆们,他们闲谈着下界的凡人俗事,对人世间表现的聪明智慧,大加赞赏.今天他们正在观赏大地 ...

  10. JZOJ2020年8月11日提高组反思

    JZOJ2020年8月11日提高组反思 T1 看到题 啊这?! 我看错了吗??? 我理解错题了吗?? 好吧没有-- 高精度模板题,不用多说 T2 看到这种矩阵的问题 以为是前缀和搞事情 结果呢 扫描线 ...

随机推荐

  1. 【微信小程序】数组操作

    Page({ data: { list:[{ id:1, name:'应季鲜果', count:1 },{ id:2, name:'精致糕点', count:6 },{ id:3, name:'全球美 ...

  2. systemctl常规应用

    以samba为例——常用项 #systemctl   start   smb ——在smb服务没有启动的情况下启动这项服务. #systemctl   restart   smb ——在修该过相应的配 ...

  3. Java笔记--反射机制

    1.Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法. 2.Java反射机制提供 ...

  4. java提升一:内部类

    1.总体定义 定义在一个类中的类,就称之为内部类. 2.为什么要使用内部类 (1)使用匿名内部类,无需对只使用一次的接口实现类进行创建,方便了对于接口和抽象类的实现及其使用. (2)每个内部类都可以独 ...

  5. Typescript 实战 --- (9)ES6与CommonJS的模块系统

    1.ES6模块系统 1-1.export 导出 (1).单独导出 // a.ts export let a = 1; (2).批量导出 // a.ts let b = 2; let c = 3; ex ...

  6. Day6 - L - Mokia HYSBZ - 1176

    维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000000. Input 第 ...

  7. python重要函数eval

    1.参数会作为一个 Python 表达式(从技术上说是一个条件列表)被解析并求值 >>> x = 1 >>> eval('x+1') 2 2.去除字符串两边的引号 ...

  8. 021、MySQL变量的使用,在MySQL中创建存储过程,并添加变量

    #编写一个存储过程 CREATE PROCEDURE ShowDate ( ) BEGIN #变量定义 ); #变量赋值 set m_str1 = '曾经沧海难为水'; #输出当前时间 SELECT ...

  9. SpringBoot-属性配置yaml自定义属性和值

    SpringBoot-属性配置yaml自定义属性和值 SpringBoot-属性配置yaml自定义属性和值 在SpringBoot中yml/yaml文件可以自定义一些属性,以供注入给自定义bean对象 ...

  10. dede:list 与 dede:arclist 的区别

    1.{dede:list}是用于列表页的文章列表调用,通常是用于list_article.htm页面,这个文章列表是可以分页的. 功能说明:表示列表模板里的分页内容列表适用范围:仅列表模板 list_ ...