2021西安邀请赛部分题解
G
题意:一棵树每个点权有一个,
可以作为
的中转站的条件如下。
在
之间的路径上。
可以是
之一。
需要不同。
定义点的承载量是
可以作为
的中转站的无序对
的个数。
最大化使得每个点的承载量小于
。
题解:二分。将
升序,按顺序依次将每个点塞到按照dfs序建立的树状数组上。
有一个坑点:需要根据 是
之一,
不是
之一进行分类讨论,需要考虑清楚
是
之一这个case。
H
题意:有种宝石,一次魔法可以把第
种宝石变成第
种宝石并且个数变成原来的
倍。每次询问最少需要多少次魔法可以把
个第
种宝石变成
个第种宝石。
数据范围:询问次数是次。
。
题解:
先用一个对数trick。
考虑矩阵快速幂表示进行
次魔法后第
种宝石到第
种宝石的最大翻倍数。
每次询问需要从高位到低位拼出答案。用和向量
相乘。
的大小是
。
表示当前次数下第
种宝石到第
种宝石的最大翻倍数。需要保证当前次数下第
种宝石的翻倍数小于
。拼出的二进制数是
。答案是
即翻倍数不小于
。
复杂度。
感想:确实是个好题,贴个代码。
#include<bits/stdc++.h>
using namespace std ;
typedef double db ;
typedef vector<db> vec ;
typedef vector<vec> mat ;
mat mul(mat &A , mat &B)
{mat C(A.size() , vec(B[0].size() , -1e9)) ;for(int i = 0 ; i < (int)A.size() ; i ++)for(int j = 0 ; j < (int)B[0].size() ; j ++)for(int k = 0 ; k < (int)A[0].size() ; k ++)C[i][j] = max(C[i][j] , A[i][k] + B[k][j]) ;return C ;
}
int main()
{std::ios::sync_with_stdio(false) , cin.tie(0) ;int n , q ;cin >> n >> q ;mat a(n , vec(n)) ;vector<mat> A(20 , mat(n , vec(n))) ;for(int i = 0 ; i < n ; i ++)for(int j = 0 ; j < n ; j ++)cin >> a[i][j] ;for(int i = 0 ; i < n ; i ++)for(int j = 0 ; j < n ; j ++){if(a[j][i] == 0) A[0][i][j] = -1e9 ;else A[0][i][j] = log2(a[j][i]) ;if(i == j) A[0][i][j] = 0 ;}for(int i = 1 ; i <= 19 ; i ++) A[i] = mul(A[i - 1] , A[i - 1]) ;while(q --){int x , k ;cin >> x >> k ;x -- ;mat res(n , vec(1 , -1e9)) ;res[x][0] = 0 ;int ans = 0 ;for(int i = 19 ; i >= 0 ; i --){mat tmp = mul(A[i] , res) ;if(tmp[x][0] < k) ans += (1 << i) , res = tmp ;}cout << ans + 1 << '\n' ;}return 0 ;//you should actually read the stuff at the bottom before submitting or in the confusion
}
/* stuff you should look for* long long* array bounds* init* ios* special cases (n=1?)* do smth instead of nothing and stay organized* WRITE STUFF DOWN* DON'T GET STUCK ON ONE APPROACH* DON'T GET STUCK ON ONE PROBLEM
*/
L
题意:每个点会发出两条射线,射线夹着的区域是合法区域。这样的点有n个。问n个合法区域交集的内接圆的半径。
题解:二分+半平面交。
感想:主要是这场没时间了,不会做这个的,即使是模板题。这场打的太差了。。。
2021西安邀请赛部分题解相关推荐
- 电子科技大学2021计算机考研复试科目,2021西安电子科技大学考研复试时间_西安交通大学考研复试科目...
2021考研初试已经落下帷幕,现在就是等待考研成绩及复试的环节了,大家可以预约2021考研成绩查询,一经发布立马提醒,现在同学只需要调整好状态继续前进,准备复试啦!陕西研招网跟大家分享"20 ...
- 【线下赛游记】2023 ICPC西安邀请赛 游记
[线下赛游记]2023 ICPC西安邀请赛 游记 day -2 现在是周四,虽然周日才开始比赛,但早已是 "激动的心 颤抖的手" 了,上完早八,就决定一直加训到晚上,结果一下午 ...
- 2021西安大小公司十套前端面试题
2021西安大小公司 前端十套面试题 作者:莹宝思密达 以下题目必问: css垂直水平居 vue方向 组件传值,路由传参,vuex必问,nextTick使用和keep-alive有可能问 CORS跨域 ...
- 2021西安市地区高考成绩排名查询,2021西安的高中排名一览表
2021西安的高中排名一览表2021-04-28 10:00:08文/颜雨 陕西省西安市排名靠前的高中有西北工业大学附属中学.西安铁一中.陕西师范大学附属中学.西安高新一中等等,接下来分享相关排名,供 ...
- USACO 2020~2021 February Contest GOLD 题解(3)
USACO 2020~2021 二月黄金组 题解(3) 3. Count The Cows As is typical, Farmer John's cows have spread themselv ...
- 2019ACM西安邀请赛总结
第二次打西安邀请赛了,可能去年锅比较多然后强队比较少,我竟然抱着拿银的期望去打:希望自己在这场中可以赢(银). 然鹅实力限制了我,拿铜滚粗了: 热身赛 第一天的热身赛还是很愉快的,热身A题属于基础题, ...
- 西安邀请赛游记 队伍名:可持久化金清树
西安邀请赛游记 5.17 – 5.20 我们是乘坐5.16晚上的飞机到西安的,我和学长乘坐同一班飞机,队友乘坐第二天早上的飞机.事实证明早上飞机没有凌晨飞机舒服啊. 我们到了西安以后,简单的到了酒店下 ...
- 西安事业单位 计算机管理,2021西安事业单位考试选岗技巧及常见问题解答
随着2021陕西事业单位联考笔试的结束,很多考生都在担心没有参与联考的西安市还会招录吗?直到4月12日西安事业单位考试公告的发布,才给众多考生打了一针"强心剂".2021年西安事业 ...
- 记2021西安ICPC邀请赛打铁
退役赛依旧打铁,换谁都不好受. 赛前觉得压力不大,旷了一个月的训,奔着旅游来了西安.结果sdnu来的四个队只有我们打了铁,正躺在宾馆的床上发呆## 那就从昨天开始说起吧~ 2021/6/5 暴力杯正好 ...
最新文章
- Android Activity要点(2)
- java 调用word插件_java一键生成word操作,比poi简单
- python的span方法_Python Span.set_extension方法代码示例
- 【算法】一个简单的线性判别分析(LDA)原理
- 如何让IDEA启动多个SpringBoot实例
- 这道题号称无人能解!300多年来无一人答对,却让这群人这么简单就解出来了?...
- 雷林鹏分享:C# 运算符
- JS中window.showModalDialog()详解
- JPEG 及MJPEG开发笔记
- 北京航空航天大学计算机科学与技术考研科目,2022北京航空航天大学计算机科学与技术考研备考指导-参考书、分数线...
- 数据结构之什么是数组?
- c语言 组合问题,排列组合问题 C语言
- :last-of-type , :last-child 无效的问题
- 2021-09-06张博
- 领先一步,步步领先:编程教育已进入中小学生课堂
- 抓包软件charles
- 在B站被催更的恰饭视频是什么样的?
- Flutter项目调用APP原声页面,使用iOS的Framework,安卓的aar,so文件
- 医美企业如何玩转私域流量?
- 数据库配置白/黑名单
热门文章
- Windows RDP远程代码执行高危漏洞加固指南
- 延大西院计算机学院,陕西拟新增72个博士点,西邮延大西工程大登榜,西法大凉凉!...
- 人类表型组研究发现:皮肤自发荧光是脑卒中、肺癌等疾病的生物标志物
- pmv计算程序matlab,PMV计算过程示例.docx
- Win10 21H1系统远程桌面多用户登录解除限制
- Scala 常用Sort排序
- 创意和弦生成插件-Audiomodern Chordjam 1.0.0 WiN-MAC
- 【练习七 字符串编程题1. 全字母短句】
- 【pip】CentOS7.x 升级pip失败报错处理
- 国产达梦数据库与Oracle数据库的区别