2020.01.19【NOIP提高组】模拟比赛-1.水池,2.数字排序,3.球星,4.钻石交易 总结反思
水池
比赛时
我最讨厌这种数学类题了,我首先想到了这几种情况,设\(jl[][]\)表示两点之间弧的距离,从F到G可以由
- F->G
- F->B->A->G
F->A->B->G
路径到达,那么,关键就是求弧长了,我于是自己乱写了一个式子,结果样例都没有过,一看时间已经去了很多了,于是放弃了,我觉得很多人会AC.之后
居然没有人比赛时A了这道题,这题正解三角函数,初中的蒟蒻我还没学~~~
求弧长可以用两点之间的距离先求出圆心角,然后就可以通过圆心角求出弧长了。具体做法等我后续更新数字排序
比赛时
第一眼看就觉得像我们昨天刚做过的题,注意到只有两行数,于是回忆起了昨天的题解中对只有两行数的解法——是二分,但是又回忆不起具体内容来,于是死命得想二分,想了很久,终于想到了一种二分套二分的解法。
我们可以二分答案,那最关键的就是如何判断当前二分到的mid合不合法,mid合法,当且仅当有小于k个数严格小于它,于是,这个问题就转化为了如何求小于mid的有多少个数,考虑到只有两行数,且\(n \leq 10000\) ,那么可以枚举i,求出\(a_i*b_j(1 \leq j \leq m)\) 有多少个严格小于mid,于是我们可以预先对b排序,然后用二分求出最后一个\(a_i*b_j < mid\)的下标,那么对于这个i,\(a_i*b_j(1 \leq j \leq m) < mid\)的就有下标个数。于是这题就解决了。之后
我们机房的大佬XYX跟我的思路差不多,但是它没有嵌套的二分,而是用了一个前缀和表示小于mid的有多少个数,具体怎么做unknow
球星
比赛时
仔细看以为是什么主席树等数据结构,因为要求11大,可我还没学,于是果断弃疗。
之后
题解的做法时线段树+归并排序的思想,线段树采用动态开点,或者也可以用离散化;归并排序的思想就是对于两个已经有序的序列a,b,我们只需要一重循环就可以将a,b合并(所以叫归并)为有序的数列c,这样就可以轻轻松松得求出每个区间的11大。
钻石交易
比赛时
思考了一会儿,脑子一直在瞎编乱造——最小费用最大流?BFS?状压DP?
看到\(m \leq 10\) ,于是决定采用状压DP,设\(f[s][i]\),s表示宝石的状态——卖或没卖,i表示当前在第i个城市,那么,处在当前这个状态,我们可以选择1.在当前城市卖掉宝石 2.不卖宝石走到其他城市
于是就简简单单得打了几个循环之后
拿了30分,答案错误。我没有考虑到一种情况——在当前s状态下,我们可以在剩余钱大于0时走到其他城市,这就相当与最短路径问题,而如果我们单单顺序枚举更新f,会找不到最优答案。正解:状压DP+dijk堆优化,状压DP主要处理卖宝石的情况,dijk主要处理在不卖宝石的情况下走到其它城市的情况,状压DP里面套dijk。
总结
- 对于求区间前k小的题目(k是固定的!),我们可以用线段树实现
对于状压DP但是顺序枚举不能保证最优解的题目,可以在状压DP内套xxx保证最优解
2020.01.19【NOIP提高组】模拟比赛-1.水池,2.数字排序,3.球星,4.钻石交易 总结反思的更多相关文章
- 计蒜客 NOIP 提高组模拟竞赛第一试 补记
计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n, ...
- 2020.02.01【NOIP提高组】模拟B 组总结反思——数列(sequence) 树 【2012东莞市选】时间流逝 挖掘机技术哪家强
T1 数列(sequence) 比赛时 我自以为是地打了简简单单一个判断--- 之后 Waiting-- T2 2753. 树(tree) 比赛时 这题我居然比赛时也想了很久,可能是因为我太懒,我很早 ...
- 【纪中集训】2019.08.01【NOIP提高组】模拟 A 组TJ
T1 Description 给定一个\(N*N(N≤8)\)的矩阵,每一格有一个0~5的颜色.每次可将左上角的格子所在连通块变为一种颜色,求最少操作数. Solution IDA*=启发式迭代加深 ...
- 10-18 noip提高组模拟赛(codecomb)T1倍增[未填]
T1只想到了找环,> <倍增的思想没有学过,所以看题解看得雨里雾里的(最近真的打算学一下! 题目出的挺好的,觉得noip极有可能出现T1T2T3,所以在此mark 刚开始T1以为是模拟,还 ...
- [LUOGU] NOIP提高组模拟赛Day1
题外话:以Ingress为题材出的比赛好评,绿军好评 T1 考虑枚举第\(i\)个人作为左边必选的一个人,那左边剩余\(i-1\)个人,选法就是\(2^{i-1}\),也就是可以任意选或不选,右侧剩余 ...
- l洛谷 NOIP提高组模拟赛 Day2
传送门 ## T1 区间修改+单点查询.差分树状数组. #include<iostream> #include<cstdio> #include<cstring> ...
- 10-18 noip提高组模拟赛(codecomb)T2贪心
T2:找min:一直找最小的那个,直到a[i]-x+1小于0,就找次小的,以此类推: 求max,也是一样的,一直到最大的那个,直到次大的比之前最大的大,就找次大的: 这个模拟,可以用上priority ...
- HGOI20180815 (NOIP 提高组模拟赛 day2)
Day 2 rank 11 100+35+30=165 本题是一道数论题,求ax+by=c的正整数对(x,y) x>=0并且y>=0 先说下gcd: 求a,b公约数gcd(a,b) 如gc ...
- 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】
U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...
随机推荐
- MBMD(MobileNet-based tracking by detection algorithm)作者答疑
If you fail to install and run this tracker, please email me (zhangyunhua@mail.dlut.edu.cn) Introduc ...
- UVA5913 Dictionary Sizes(字典树)(转载)
题目大意:给出n个旧单词,要从这n个旧单词中构造新单词.构造条件是 S = Sa + Sb,其中Sa为某个旧单词的非空前缀,Sb为某个单词的非空后缀.求所有的新单词和旧单词中有多少个不同的单词. 思路 ...
- linux入门系列12--磁盘管理之分区、格式化与挂载
前面系列文章讲解了VI编辑器.常用命令.防火墙及网络服务管理,本篇将讲解磁盘管理相关知识. 本文将会介绍大量的Linux命令,其中有一部分在"linux入门系列5--新手必会的linux命令 ...
- QTableWidget中添加列表并输出
注意:这只是一个demo,项目中用到利用QTableWidget创建表,表中包含各种控件,最后保存表中的内容到doc中,此demo完成了QTableWidget中表的创建,以及将表中内容转为字符串格式 ...
- 几个点认识Nginx服务器
Nginx 其实就是一款轻量级的 Web 服务器.反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用. 那么你可能会问了:“不是说 Nginx 吗?怎么又扯出来一个 W ...
- 01_TypeScript介绍安装
1.介绍 TypeScript 是由微软开发得一款开源得编程语言:是JavaScript得超级,遵循ES6,ES5规范:更适合开发大型企业项目. 2.安装 npm install -g typesri ...
- 无线网络WPA加密算法基础
2013-11-13 23:08 (分类:网络安全) 对无线没什么认识,总听说有人蹭网,还有卖蹭网器的,于是补充一下知识. 无线加密有两类:WEP WAP,目前采用WEP加密的非常少了,WEP应该只是 ...
- 字符编码及字节串bytes类型
1 字符编码简介 ASCII码:美国人发明并使用,用1个字节(8位二进制)代表一个字符,ASCII码是其他任意编码表的子集(utf-16除外). Unicode:包含和兼容全世界的语言,与全世界的语言 ...
- bootstrap4网格
Bootstrap 4 网格系统有以下 5 个类: .col- 针对所有设备 .col-sm- 平板 - 屏幕宽度等于或大于 576px .col-md- 桌面显示器 - 屏幕宽度等于或大于 768p ...
- leetcode-简单-栈-逆波兰表达式
根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话 ...