题解 YMOI 2019.6.29

放弃FAIOJ,用cena考了一次试。被全方位吊打..

T1 开灯

题面:

在一条无限长的路上,有一排无限长的路灯,编号为1,2,3,4,……。

每一盏灯只有两种可能的状态,开或者关。如果按一下某一盏灯的开关,那么这盏灯的状态将发生改变。如果原来是开,将变成关。如果原来是关,将变成开。在刚开始的时候,所有的灯都是关的。

小明每次可以进行如下的操作:

指定两个数,a,t(a为实数,t为正整数)。将编号为[a],[2a],[3a],……,[t*a]的灯的开关各按一次。其中[k]表示实数k的整数部分。

在小明进行了n次操作后,小明突然发现,这个时候只有一盏灯是开的,小明很想知道这盏灯的编号,可是这盏灯离小明太远了,小明看不清编号是多少。

幸好,小明还记得之前的n次操作。于是小明找到了你,你能帮他计算出这盏开着的灯的编号吗?

第一眼看到题的时候,看到“无限长”有点慌,打了暴力就跑路了

再看一眼,虽然总数是无限的,但可能出现的灯是优先的。那么,只要当前的灯是灭的,就把编号插入队列;灯是亮的,就弹出;那么最后剩下的不久是答案吗。

插入,弹出...刚学的fhq_treap!于是考场上喜滋滋地打了100行花Qtreap,自我感觉良好。丝毫没有发觉用异或就能超级!超级!高效简洁地解决问题..

而且,这还没完!考场上我为了保险,把数组考到了1e7级别的,结果:全部MLE,喜捧鸭蛋。。

下回考试一定记住要算好空间。Ps:128MB约等于6e7个int

T2 打砖块

题目传送门

考场的时候察觉到了是dp,但是没能推出正确的dp

首先简化问题,假如没有奖励子弹会怎么样?

简单,f[i][j]表示前i列用j发子弹,轻松转移

那么,现在有奖励子弹了,是不是可以认为有奖励子弹的砖块可以无需子弹,直接得分,然后用旧方法?我在考场上的思路也就止步于此。答案是:不行

假设最后一发子弹打在了N上,同时N上面裸露出了Y。但是,由于我们手头上没有子弹了,这个Y是心有余而力不足的

也就是说,虽然奖励子弹是无需消耗子弹的,但是前提是我们用一发子弹去换得另一发子弹,我们必须自备一发子弹

emm,假如依旧用f[i][j]表示,然后转移,就会出现大量分情况讨论,似乎有点难以解决..不过题解好像大部分都是dp,才疏学浅读不懂

假如我们在当初就“藏”了一发子弹。先用剩余的子弹去打,那么只要有Y,我们就可以用这个私房弹打掉,然后再归还回来。最后的情况一定不会再有裸露的Y,我们只要用这个最后的一发子弹打掉一个N即可。

枚举每一列作为打掉最后一个N的那一列,预处理出来从左至右和从右至左分别打掉i发子弹可以获得最大收益,即可得到答案 ( ̄y▽, ̄)╭

T3 收费站

题目传送门

这回可算想到了二分答案!但是,思路错了

我原本的思路是:先跑一遍spfa判可行性,然后用二分加并查集判最优。但是并查集的时候,我是直接把所有收费小于答案值得收费站联通进去,忽略了一些可能距离受限而本应放弃的收费站。而这个错误想法竟然混到了90分??

说正解:依旧是二分答案,带着二分去跑带限制的dijkstra。具体而言,就是收费大于二分的收费站都无法访问,用剩余的点去跑dijktra

注意,正权图下,dijkstra加优先队列的确吊打spfa

欸,太菜了。好像往届的大佬都没有考到我这惨淡的分的。。继续努力吧(~ ̄(OO) ̄)ブ

YMOI 2019.6.29的更多相关文章

  1. Alpha冲刺(6/10)——2019.4.29

    所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(6/10)--2019.4.29 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...

  2. YMOI 2019.6.22

    题解 YMOI 2019.6.22 lia麦頔溜了,缺了lia麦頔的排名仅供参考 不过分数还是暴露无遗 T1 邪恶入侵 简易题干: 在三维空间内有一些点,点之间有双向边.每一次询问给出一个m,只有边权 ...

  3. YMOI 2019.6.15

    题解 YMOI 2019.6.15 前记 NOIP信心个蛋赛,被各路大佬吊打,信心-- 耻辱墙: \(2019.6.15\) \(rank\) \(\color{red}{3}\) T1 简单队列 题 ...

  4. YMOI 2019.6.8

    题解 YMOI 2019.6.8 前言 第二回考试,承让拿了第一次rank1,(●ˇ∀ˇ●) 题解 这次考试总体发挥比较好,每一道题都尽可能得取得了所能及的所有分.虽然多少还是有失误,不过在所难免.保 ...

  5. 2019.03.29 bzoj5463: [APIO2018] 铁人两项(圆方树+树形dp)

    传送门 题意简述:给你一张无向图,问你满足存在从a−>b−>ca->b->ca−>b−>c且不经过重复节点的路径的有序点对(a,b,c)(a,b,c)(a,b,c) ...

  6. 2019.03.29 NOIP训练 友好国度(点分治+容斥)

    传送门 思路: 直接上点分治+容斥计算每个因数对应的贡献即可. 代码: #include<bits/stdc++.h> #define ri register int using name ...

  7. 2019.03.29 bzoj3323: [Scoi2013]多项式的运算(非旋treap)

    传送门 题意:定义一个无穷项的多项式f(x)f(x)f(x),初始各项系数都为0,现在有几种操作 将xLx^LxL到xRx^RxR这些项的系数乘上某个定值v 将xLx^LxL到xRx^RxR这些项的系 ...

  8. 2019.03.29 读书笔记 关于params与可选参数

    void Method1(string str, object a){} void Method2(string str, object a,object b) { } void Method3(st ...

  9. 2019.03.29 读书笔记 关于override与new

    差异:override:覆盖父类分方法,new 隐藏父类方法. 共同:都不能改变父类自身方法. public class Test { public string Name { get; set; } ...

随机推荐

  1. 齐博x2向上滚动特效

    要实现图中圈起来的向上滚动特效,大家可以参考下面的代码 <!--滚动开始--> <style type="text/css"> .auto-roll{ he ...

  2. 9.为url添加可选的后缀

    为url添加可选的后缀 在drf的机制中,响应数据的格式不再与单一内容类型连接,可以同时享有json格式或html格式,我们可以为api路径添加格式后缀的支持,使用格式后缀给我们明确指定了给定格式的u ...

  3. python3使用libpcap库进行抓包及数据处理

    python版本:python 3.9 libpcap版本:1.11.0b7 python libpcap库是底层绑定c语言libpcap库的开发包,旨在提供python应用可访问的unix c li ...

  4. 第一百零六篇:变量的不同声明(var,let和const的不同)

    好家伙,JS基础接着学, 本篇内容为<JS高级程序设计>第三章学习笔记 1.变量 ECMAScript 变量是松散类型的,意思是变量可以用于保存任何类型的数据. (确实松散,不像C或C++ ...

  5. 聊聊消息队列(MQ)那些事

    每年的双十一期间,各大电商平台流量暴增,同时,电商平台系统的负载压力也会很大.譬如订单支付的场景,每个订单支付成功后,服务器可能要完成扣减积分.扣减优惠券.扣减商品库存.发短信等一系列操作.单个用户请 ...

  6. hwlog--limiter.go

    // Copyright(C) 2021. Huawei Technologies Co.,Ltd. All rights reserved.// Package limiter implement ...

  7. WSL下的Ubuntu 18.04LTS配置软件源和系统更新

    WSL下的Ubuntu 18.04LTS配置软件源和系统更新 设置系统语言为中文 # 安装中文支持 sudo apt-get install -y language-pack-zh-hans # 设置 ...

  8. tomcat下载安装&配置教程

    tomcat下载安装&配置教程 1 安装jdk 1.1 安装jdk 1.2 安装JDK后设置环境变量 1.3 使环境变量生效 1.4 查看java版本 2 安装tomcat 2.1 在/usr ...

  9. ifconfig命令的使用

    ifconfig命令 用途:配置或显示TCP/IP网络的网络接口参数. *1.通过--help学习ifconfig的使用 点击查看代码 [root@rocky8 ~]# ifconfig --help ...

  10. bugku web2

    打开全是滑稽.... 直接查看源码(用firefox的F12来查看,其他的会注释掉)可以得到flag(抓包不知道怎么回事抓不到,不然应该也可以看到注释的flag)