2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16)

我带了大表(哥)? 两人组帮集训队测比赛,这场三星GYM做挂了。。。
GG

然后看到q AK了。。。
当时熊神过了一大堆题,我才把A 过了。。。
然后熊神又过了一大堆题,我还没有做出J
。。。
然后赛后发现,J题读错题了。。。。。。。。。。。

A
有G堆石子,每一堆有n个,每次可以从一堆中取 b^0..b^1..b^2......b^m<=n)个,判断先手胜负
诶,一开始就看到这题,然后刚好最近这部分博弈搞了下。
我们可以发现这题数据太大了,我们无法打出sg函数值。。。
so,我打了个表,然后找了找规律,前两发naive了,发现奇偶sg函数值,会交替 更改。
B
对阴影部分跑Floyd,一大堆矩形分情况讨论
D 签到题,C(n,m)
E 搜索会T,所以别看时限很长。。。
 我们对字符串建图(这想法很吼啊),然后跑最短路即可。
G 其实当时根本不会,因为不会去重,这部分数学少了小学弟感觉很艰难,
然后 似乎这是一个第二类斯特林数的模板题。
H 不难的搜索(记忆化?)。。或者dp也吼啊

补题:
J
在q的wiki里面看了看题解。。。然后悲剧的发现自己读错题了。。。。
cf1700分的选手实力还是不错呢?,嘿嘿

题意:城市i的魅力值= 从i的子树中 有多少个j 能够到达i。。。
在q神的指导(贴代码)下,我进一步加深了对倍增法的理解???
我们在树上倍增存下节点i 到根上 这一条链,然后就可以二分了打标记,然后就简单了。。。

总结:

找规律的时候不能够太着急,仔细一点,万一规律找错了岂不GG,打表当然也要小心别打错。。。

做题速度还有待提高:
希望能够solo几套cf提高一下自己的做题速度。。。
C 、F、I、K不会。。。。
以下内存都是从q那里抄的
https://wiki-saltyfish.icpc-camp.org/2016-2017%20ACM-ICPC,%20Egyptian%20Collegiate%20Programming%20Contest%20(ECPC%2016)
C
用最少的行列覆盖给定点,其中横线是一些半圆,对每个点坐标变换(x,y)→(x,y−(n/2)^2−(n/2−x)^2−−−−−−)即可转换成水平竖直的行列,然后二分图最大匹配

F
dp+离散化之后线段树维护。。。。待补

离散化,维护那个地方还不是很懂
因为我们的判定条件是

int dist(node a,node b){
    return abs(a.x-b.x)+1;
}
bool ok(node a,node b){
    if(a.p*a.p + b.p*b.p +c <= dist(a,b)){
        return 1;
    }
    return 0;
}

所以我们没有办法去,lower_bound 或者其他的线段树单纯维护大小啊。。。

I
求出覆盖每个小圆时大圆圆心的横坐标区间,然后扫描线
这个要不要去补呢,很是纠结

K
条件概率dp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ACM-ICPC(国际大学生程序设计竞赛)是一项面向大学生的计算机编程竞赛,涉及算法和数据结构等领域。在比赛中,选手需要解决一系列编程问题,使用合适的算法和数据结构来实现正确和高效的解决方案。 对于整理ACM-ICPC模板,以下是一些建议: 1. 了解比赛要求:首先,你需要了解ACM-ICPC比赛的具体要求和规则。这包括了解比赛所涉及的算法和数据结构,以及题目的类型和难度等。 2. 收集资料:收集与ACM-ICPC相关的资料,包括经典算法和数据结构的实现代码、常见问题的解题思路等。可以参考教材、博客、论文等资源。 3. 整理模板:将收集到的资料整理成模板。可以按照算法和数据结构的分类进行整理,例如排序算法、图算法、字符串算法等。对每个模板,添加必要的注释和示例代码,以便理解和使用。 4. 测试代码:对每个模板编写测试代码,确保它们的正确性和可靠性。可以使用已知的测试用例或自行设计测试用例。 5. 更新与扩充:定期更新和扩充模板,以适应ACM-ICPC比赛中新出现的算法和数据结构。同时,根据自己的经验和理解,对模板进行优化和改进。 6. 练习和复习:在比赛之前,利用整理好的模板进行练习和复习。尝试解决一些经典问题,使用模板中的算法和数据结构进行实现,并进行优化。 希望这些建议对你整理ACM-ICPC模板有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值