ACM-ICPC 2018 南京网络赛
题目顺序:A C E G I J L
A. An Olympian Math Problem
打表,找规律,发现答案为n-1
C. GDY
题意:
m张卡片,标号1-13;
n个玩家,标号1-n;每个人拿前5个卡片
玩家1先出牌(最小),其他玩家2-n顺时针标号从1-n-1出牌
轮到当前玩家出牌,如果有比上一次的出牌大1,可以直接出;没有大1的牌,若有2出2;若都没有,这一轮跳过他
如果一轮中,玩家x出了一张最大的牌,玩家x~n,1~x中所有玩家都没有出牌,从玩家x开始所有玩家都拿一张牌(如
果没有牌了就不拿了),然后玩家x打出最小牌。
1个人最先没牌了,他就win了;
其他人计算惩罚 = sum(手中牌的数字标号)
题解:180行大模拟。。改了一个多小时的bug,然后AC了23333
E. AC Challenge
题意:共n个problem,要去选择1~n中的几个problem,其中每个方案有si个前提问题必选,分别是p1,p2...pn;
回答一个问题会得到 t×ai+bi 分数,其中t表示回答的第t个问题。
题解:状压dp;先看数据量,n<20,即可想到用状压,枚举选定方案状态 共0~1<<n个,对于每个状态,判断是否满足每一个问题的前提条件。若满足,就更新dp数组
G. Lpl and Energy-saving Lamps
比较简单的数据结构题
题意:每个月买m盏新的灯,共n个房间。每个月按照房间号从小到大的顺序(1~n),找到手中的灯数量 >= 房间所需灯的数量,循环至手中灯的数量不足(<所有房间所需的灯) ;
题解:线段树区间查询 + 单点更新,维护区间最小值;
因为每个月只需要按照房间号从小到到,找到 比 手中的灯数k小的房间,而线段树维护的区间最小值可以 以O(logn)的时间找到该房间;
找到该房间后需要将房间所需灯数设置为inf,代表该房间已经装好了,以便后面查找,即线段树单点更新。
I. Skr
题意:给定一个字符串(仅含有数字字符),计算所有回文子串的和。
题解:马拉车manacher + 字符串hash
首先马拉车算法过程中已经找到了 所有回文子串,但是会有重复
所有我们就要用字符串hash来存储已经找到的回文子串,在下次马拉车过程中出现相同的回文串时,判重。
*J. Sum
题意:拆分整数成因数的乘积,若这个整数的因数 含有 平方数(或者幂>=2),就不合法;每个数有确定的拆分方案个数,f(i)表示整数i的拆分方案个数,让我计算前n项f(i)的和
题解:题目数据 n <= 2*10^7,所以不能用O(nlogn)的筛,只能用O(n)的筛,这里用欧拉筛,
L. Magical Girl Haze
题意:n个城市,m条路,每条路距离ci,一个人住在城市1,要去城市n,他可以使k条路的边权距离为0,问最短路
题解:分层图模板题,拆点后,跑最短路。
如何拆点:依照题意,可以让k条路边权为0,那么我们就建立K层图,把每个边对应的两个城市点u和v+n,u+n 和 v+2n ,u+2n和v+3n......连一条权值为0的边。并且相同层u+kn和v+kn连上权值为原ci的边
即:若原图中i~j有一条权值为x的边,则
add_edge(i,j,x),add_edge(i+n,j+n,x).....add_edge(i+kn,j+kn,x)
add_edge(i,j+n,0),add_edge(i+n,j+2n,0)....add_edge(i+(k-1)n,j+k*n,0)
这样拆点后,使一条边为0,就变成了向上走了一层,走了一条权值为0的边。
建完图后跑dijkstra。
ACM-ICPC 2018 南京网络赛的更多相关文章
- ICPC 2018 南京网络赛 J Magical Girl Haze(多层图最短路)
传送门:https://nanti.jisuanke.com/t/A1958 题意:n个点m条边的路,你有k次机会将某条路上的边权变为0,问你最短路径长度 题解:最短路变形,我们需要在常规的最短路上多 ...
- 计蒜客 2018南京网络赛 I Skr ( 回文树 )
题目链接 题意 : 给出一个由数字组成的字符串.然后要你找出其所有本质不同的回文子串.然后将这些回文子串转化为整数后相加.问你最后的结果是多少.答案模 1e9+7 分析 : 应该可以算是回文树挺裸的题 ...
- 2014 ACM/ICPC 鞍山赛区网络赛(清华命题)
为迎接10月17号清华命题的鞍山现场赛 杭电上的题目 Biconnected(hdu4997) 状态压缩DP Rotate(hdu4998) 相对任一点的旋转 Overt(hdu4999 ...
- 2018南京网络赛 - Skr 回文树
题意:求本质不同的回文串(大整数)的数字和 由回文树的性质可知贡献只在首次进入某个新节点时产生 那么只需由pos和len算出距离把左边右边删掉再算好base重复\(O(n)\)次即可 位移那段写的略微 ...
- 2017 ACM/ICPC 南宁区 网络赛 Overlapping Rectangles
2017-09-24 20:11:21 writer:pprp 找到的大神的代码,直接过了 采用了扫描线+线段树的算法,先码了,作为模板也不错啊 题目链接:https://nanti.jisuanke ...
- 2018南京网络赛L题:Magical Girl Haze(最短路分层图)
题目链接:https://nanti.jisuanke.com/t/31001 解题心得: 一个BZOJ的原题,之前就写过博客了. 原题地址:https://www.lydsy.com/JudgeOn ...
- 【2017 ACM/ICPC 乌鲁木齐赛区网络赛环境测试赛 E】蒜头君的排序
[链接]h在这里写链接 [题意] 在这里写题意 [题解] 莫队算法+树状数组. 区间增加1或减少1. 对逆序对的影响是固定的. (用冒泡排序变成升序的交换次数,就是逆序对的个数) [错的次数] 0 [ ...
- HDU 4751 Divide Groups (2013南京网络赛1004题,判断二分图)
Divide Groups Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- HDU 4750 Count The Pairs (2013南京网络赛1003题,并查集)
Count The Pairs Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others ...
随机推荐
- Python语法速查: 4. 字符串常用操作
返回目录 (1)字符串常用方法 Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦.字符串属于序列,所有序列可用的方法(比如切片等)都可用于字符串. 注意:字符串 ...
- WPF button 图片显示
btn1.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://application:,,,/Picture/PreSe ...
- Druid-类图-属性表
所属文章:池化技术(一)Druid是如何管理数据库连接的? 本篇为「工具人」文章,建议直接用「ctrl+f」进行查找属性.方法.类名,快速了解其含义和所属类. 主要流程里主要涉及到的类名称.类属性.类 ...
- 你的学习方法怎么样?IT的学习方法应该是什么-Dotest
OK,自从你打开这个文章,那么一定跟我有类似的困惑. 建议1)IT的东西没有背诵的,要做.要做,一定要动手做: 2)讨论.讨论,一定要多讨论.在讨论过程中,以往的不理解问题,可能就迎刃而解了: 3)知 ...
- 【oi模拟赛】长乐中学-不知道多少年
改造二叉树 [题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作"左孩子"和"右孩子" ...
- 使用docker运行springboot项目
本文主要讲的是使用docker运行springboot项目 获取一个springboot项目 这里我没有重新构建,用的之前写的一个项目,直接从github上下载下来,地址:https://github ...
- NLP中的数据增强
相关方法合集见:https://github.com/quincyliang/nlp-data-augmentation 较为简单的数据增强的方法见论文:https://arxiv.org/pdf/1 ...
- 【JS】JS校验密码复杂度(必须包含字母、数字、特殊符号)
#场景一:密码中必须包含大小写 字母.数字.特称字符,至少8个字符,最多30个字符: var pwdRegex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a- ...
- 洛谷 P4999(数位DP)
###洛谷 P4999 题目链接 ### 题目大意:给你一个区间,求这段区间中所有数的,数位上的,数字之和. 分析: 这题与 洛谷 P2602 相似,稍微改一下就可以了. 求出 0 ~ 9 的个数,然 ...
- 资源推荐:PPT快闪资源合集附配套字体下载
样例ppt下载 搜索公众号“拒收”或扫码关注公众号 回复关键字“快闪ppt”获取全部福利 本公众号只出精品,拒收劣质 或者点击菜单链接获取获取全部资源