9.5ZR提高组十连测第二测

ZR提高组十连测第二测

打的很烂,总之就是很烂,总之就是又挂分了。

时间安排

8.00-8.40 读了四道题(大概看了题目意思,稍微思考了一下1.2)

8.40=9.06(查了一下交题时间) 对T1,T2的正解没有想法,就开始写T2的暴力了(并且很有梦想的写的剪枝优化80pts 让我们记住这里,我还没分段

9.06-9.57 和T1大眼瞪小眼,思考到了性质,开始码。

9.57-10.30 盯T3并写了一版假算法。

10.30-10.44 写T4的打表分

10.44-11.16 试图思考T3的修正,否了几个想法后放弃挣扎交了一版假算法

题目分析

T1

这个题的思路转换在于,不要从下往上验证某种方案的可行性,而是指定结果来判断是否可以由当前给定的数字得到(数字是否和给定数吻合)

可以证明,当人数一定时,结果确定时,剪刀,石头,布所需要的数量是一定的。(从上到下归纳法证明)

所以,要处理的点只是,如何按照题上要求的最小字典序输出呢?
(我比赛的时候没有考虑出来,贪心爆零了)

赛后

赛后被myf大佬提点,在第x层内,长度为 2 n − x + 1 2^{n-x+1} 2nx+1 的一段内,前半段这个整体和后半段这个整体交换位置,最后赢家是不变的。(例如最底下一层也就是第x层,剪刀和布的结果与布和剪刀的结果没有差别)。

所以从最底层往上排序就好(虽然只是三层循环,但也有些细节考虑)

在字典序的处理上,还是很有意思的一道题。

T2

当时的想法就是,硬找倍数。

而且考虑到,对于一个数字的10倍以内,它的个位数是确定的,再加它的十倍时,个位数字不变。

所以我当时的想法是,根据给定的数字,框定十倍里的数有用的是哪几个,然后每次取一个加10倍。

注意的细节是,尾数小的数值不一定小,并且尾数相同的数可能不只有一个。

而且最后修正之后也没跑过80

赛后

听wxh大佬说,可以直接用存在的数位去凑可能符合的数然后验证,就可以有80。

(wxhtxdy)

T3

很有意思的一道题

暴力不太好打,因为考虑到,尽管可以二分加边的数量,或者是状压枚举加哪几条边,但是验证的时候,条件是任何一种加边方式都可以,所以硬暴力会是一个全排列的复杂度。

对这个题还挺感兴趣的。

T4

没什么想法,硬求拓扑序数的话,是点数的2^ 指数级的

赛后反思

1.呃,感觉最近总是有一些想法,但距离正解又差一些,到了正解的一半吧,另一部分却不怎么能考虑得到。

2.最近细节,边界问题写的比较差) ∠(ᐛ」∠)_

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值