• 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出了一张最大的牌,玩家xn,1x中所有玩家都没有出牌,从玩家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。

  • 相关阅读:
    【代码整合】导航
    【代码片段】简易de幻灯片解说prevScene() & nextScene()方法
    PHP file函数技巧去除每个元素换行符,去除空行元素
    windows ldap 小例子
    VI 如何格式化代码
    php通过Active Directory简单验证LDAP
    linux系统监控常用命令
    使用wget 命令下载链接文件
    【转】关于sql的书写
    php数组合并:array_merge与 “+”
  • 原文地址:https://www.cnblogs.com/fisherss/p/11360676.html
Copyright © 2020-2023  润新知