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 ...
随机推荐
- hidraw设备简要分析
关键词:hid.hidraw.usbhid.hidp等等. 下面首先介绍hidraw设备主要用途,然后简要分析hidraw设备驱动(但是不涉及到相关USB/Bluwtooth驱动),最后分析用户空间接 ...
- CodeForces - 1263E(线段树维护前缀和最值)
题意 https://vjudge.net/problem/CodeForces-1263E 您要设计一个只有一行的打字机,这一行的长度是无限大,一开始可以认为每个字符都是空.您的打字机有一个光标只指 ...
- [JavaScript]父子窗口间参数传递
概述 当页面嵌入一个iframe,或者打开一个子窗口.这个时候如果父窗口需要与子窗口之间通讯,如果直接用DOM访问对方窗口window,会受到跨于安全机制影响. javascript提供一个方法,可以 ...
- deepin,linux服务器,上传下载
------------恢复内容开始------------ 物理机:deepin系统15.11桌面版 服务器:centos7 一.ftp连接服务器 1. deepin默认没有安装命令行的ftp客户端 ...
- C++ 堆&栈等的说明
Stack 堆 存在于某作用域内的一块空间.说白了就是函数产生的空间,用于存放函数的变量.返回地址. 在函数体中声明的局部变量,就时存储在Stack中. Heap 栈 由操作系统提供的全局空间.在程序 ...
- subprocess模块(了解)
目录 一.subprocess模块 一.subprocess模块 subprocess模块允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入.标准输出.标准错误以及返回码等.更 ...
- 学习workerman之前需要知道的几种php回调写法
在workerman中会经常使用,我们先写一个回调函数,当某个行为被触发后使用该函数处理相关逻辑. 在PHP中最常用的几种回调写法如下 匿名函数做为回调 匿名函数(Anonymous function ...
- C# windows服务,解决应用程序开机自启问题
最近在东营做一个超市购物的项目,业务体量很小,是仅供内部员工使用的内网应用程序,其中涉及一个商品数据同步的winform应用程序,有一个问题就是服务器重启后,必须登录服务器操作系统,手动启动才行,于是 ...
- linux下使用mv将递归的文件从多个目录移动到一个目录中
find /data/download/temp \( -iname '*.mp4' -o -iname '*.avi' \) -type f -exec mv -nv -t '/data/downl ...
- 百度ai语音识别
//语音识别功能 var APP_ID = "149**323"; var API_KEY = "N1Po****o6WPUeU8er"; var SECRET ...