第四届“传智杯”全国大学生IT技能大赛题解
今年题目难度普遍偏低。只有 D,F 还好。
A
按题目给的公式计算即可。注意应在最后的答案中去掉小数部分。
B
按照题意模拟即可。注意答案要与 \(0\) 取 \(\max\) 。
C
按照题意模拟即可。注意应该先做乘法在做除法,或者把后面的值用 double 或 float 数据类型的变量存储,并在最后去掉小数部分。
时间复杂度 \(\mathcal O(n)\)。
D
设 \(x \oplus y = p\) ,则 \(x \oplus p = y\)。因此我们要找有多少 \(p\) 满足 \(x \oplus p < x\) 。
考虑到 \(x \oplus y\) 的值最大为 \(2^{21} - 1\) ,因此我们用线性筛筛出 \(\le 2.1 \times 10^6\) 的所有素数,然后把它们插入一个 01Trie 。
然后我们要求的答案在 01Trie 中其实是一个个字数内的数的个数的和。
在遍历 \(x\) 的每一个二进制位的过程中,设该二进制位为 \(c\),当前节点编号为 \(u\),\(tr_{u,0/1}\) 表示下一个分别是 \(0,1\) 的位置的编号。
如果 \(c=1\),那个 \(tr_{u,0}\) 内的所有子树一定合法,我们加上它子树内的数的个数,然后让 \(u \to rt_{u,1}\),即进入右子树。
如果 \(c=0\),那个子树都不能造成贡献,我们直接进入 \(tr_{u,0}\),即左子树。
如果某个非起始位置 \(u=0\) ,直接退出即可。
时间复杂度为 \(\mathcal O((Cnt + m) \log V)\),其中 \(Cnt\) 是质数个数,\(V\) 是值域。
E
题意可以转化成有 \(k\) 个可重集,每次向里面插入 \(p\) 个数对 \((a,b)\) ,每个数对 \(a,b\) 表示向第 \(a\) 个集合中插入一个值为 \(b\) 的数。
查询的话就是第 \(x\) 个集合中在 \([y_{\min},y_{\max}]\) 内的数有多少个。
发现 \(k,n\) 都很小,对于每个集合维护一个树状数组即可。
时间复杂度 \(\mathcal O(n \log n)\)。
F
考虑利用 \(dfs\) 序转化到序列上。
考虑把深度当成主席树的值域维护。
操作一可以直接用一个 lst 变量记录。
操作二就可以直接查询 \([dfn_x, dfn_x + siz_x - 1]\) 这段区间中 \(dep_{pre_i} \ge lst\) 的位置有多少。
注意特判一下一开始整个树都是绿的。
时间复杂度 \(\mathcal O(n \log n)\) 。
G
注意题目要求是第 \(x,y\) 个质数。
其实是一道诈骗题。
发现如果两个数满足相异或为 \(1\) 那么他们两个数的值必定只差 \(1\),而这样的质数对只有 \((2,3)\) 这一对,特判一下即可。
时间复杂度 \(\mathcal O(T)\) 。
第四届“传智杯”全国大学生IT技能大赛题解的更多相关文章
- 第三届“传智杯”全国大学生IT技能大赛(初赛A组)题解
留念 C - 志愿者 排序..按照题目规则说的排就可以.wa了两发我太菜了qwq #include<bits/stdc++.h> using namespace std; const in ...
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(WEB安全)
第一题如下: 用burpsuit设置好代理后,点击发送验证码,可以看到如下: 然后go之后可以看到如下的验证码: 提交验证码后即可获得key 第二题如下: 通过/data/mysql_error_tr ...
- 2019"深思杯"山东省大学生网络安全技能大赛部分wp
签到 载入OD查看字符串 上下左右 这道题出来的时候真的是一点思路都没有,一直以为是什么编码来着,看了大佬们的 wp 原来是画图 拿大佬的脚本: from PIL import Image im = ...
- 2018年高教社杯全国大学生数学建模竞赛C题解题思路
题目 C题 大型百货商场会员画像描绘 在零售行业中,会员价值体现在持续不断地为零售运营商带来稳定的销售额和利润,同时也为零售运营商策略的制定提供数据支持.零售行业会采取各种不同方法来吸引更多的人成 ...
- 2018年高教社杯全国大学生数学建模竞赛D题解题思路
题目 D题 汽车总装线的配置问题 一.问题背景 某汽车公司生产多种型号的汽车,每种型号由品牌.配置.动力.驱动.颜色5种属性确定.品牌分为A1和A2两种,配置分为B1.B2.B3.B4.B5和B6 ...
- 2018年高教社杯全国大学生数学建模竞赛B题解题思路
题目 先贴下B题的题目吧 问题B 智能RGV的动态调度策略 图1是一个智能加工系统的示意图,由8台计算机数控机床(Computer Number Controller,CNC).1辆轨道式自动引 ...
- 2018年高教社杯全国大学生数学建模竞赛A题解题思路
题目 先贴一下A的题目吧 A题 高温作业专用服装设计 在高温环境下工作时,人们需要穿着专用服装以避免灼伤.专用服装通常由三层织物材料构成,记为I.II.III层,其中I层与外界环境接触,III层与 ...
- 2021陕西省大学生网络安全技能大赛 Web ez_checkin
web ez_checkin 进去看了一会,啥也没找到,直接上dirsearch 扫到一个index.php~,打开看一看,是php审计 <?php error_reporting(0); in ...
- 2017年中国大学生程序设计竞赛-中南地区赛暨第八届湘潭市大学生计算机程序设计大赛题解&源码(A.高斯消元,D,模拟,E,前缀和,F,LCS,H,Prim算法,I,胡搞,J,树状数组)
A------------------------------------------------------------------------------------ 题目链接:http://20 ...
随机推荐
- mysql—从字符串中提取数字(类型1)
select reason,CHAR_LENGTH(reason),mid(reason,5,CHAR_LENGTH(reason)-5)+0 from `table` 解释: CHAR_LENGTH ...
- java的缓冲流及使用Properties集合存取数据(遍历,store,load)
缓冲流 概述 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流原理 缓冲区是 ...
- 利用charles映射解决夜神模拟器安装xposed-v89-sdk25-x86.zip
最近在玩xposed框架,前前后后搞了两天,浪费一个周末,总算把踩过的坑都踩了一遍.. 比如大家肯定遇到的的一个问题:夜神模拟器打开xposed安装器之后,为什么下载不了xposed-v89-sdk2 ...
- 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤
目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...
- A Child's History of England.16
CHAPTER 5 ENGLAND UNDER CANUTE THE DANE Canute reigned eighteen years. He was a merciless King at fi ...
- 25. Linux下gdb调试
1.什么是core文件?有问题的程序运行后,产生"段错误 (核心已转储)"时生成的具有堆栈信息和调试信息的文件. 编译时需要加 -g 选项使程序生成调试信息: gcc -g cor ...
- map和forEach的区别
总结 forEach()可以做到的东西,map()也同样可以.反过来也是如此. map()会分配内存空间存储新数组并返回,forEach()不会返回数据. forEach()允许callback更改原 ...
- Docker学习(三)——Docker镜像使用
Docker镜像使用 当运行容器时,使用的镜像如果在本地中不存在,docker就会自动从docker镜像仓库中下载,默认是从Docker Hub公共镜像源下载. 1.镜像使用 (1)列 ...
- 100个Shell脚本——【脚本7】批量建立用户
[脚本7]批量建立用户 编写shell脚本,批量建立用户user_00, user_01, ... user_100并且所有用户同属于users组. 一.脚本 #!/bin/bash group=`c ...
- 11-如何通过newman生成不同类型的测试报告
postman生成测试报告需要一个插件:newman ,并且这个插件需要先安装 . 安装步骤: 安装nodejs: newman是由nodejs开发,所以要先安装它的运行环境,下载地址:http:// ...