关于今天的C题
  • 板块学术版
  • 楼主封禁用户
  • 当前回复10
  • 已保存回复10
  • 发布时间2023/8/11 18:30
  • 上次更新2023/11/3 04:25:38
查看原帖
关于今天的C题
676498
封禁用户楼主2023/8/11 18:30

今天 C\text{C} 题我有种玄学做法,过了,应该是正确的,希望能有人告诉我对不对,就是:

首先,先用和这题 Subtask4 n2\text{Subtask4}\ n^2 的做法一样的方法跑一遍,记录 answeranswer

如果 answer≤510000answer \le 510000,没事儿了

否则先把 stackstack 里的全放到 queuequeue 里,然后再把 queuequeue 的全放到 stackstack 里(2n2n 次操作),再做 n2n^2 的做法,相当于把这个序列倒过来了

正着、倒着每一次总共正好循环移位 n−i−1n-i-1 次,两种情况都要再花一次把目标元素放进去,操作个数 2(n−i−1)+1+1=2n−2i2(n-i-1)+1+1=2n-2i,于是总操作次数为 2n2−2×n(n+1)2+2n=n2+n2n^2-2 \times \frac{n(n+1)}{2}+2n=n^2+n,于是必有一种操作次数 ≤n2+n2≤10010002=500500\le \frac{n^2+n}{2} \le \frac{1001000}{2}=500500次,而题目给了 510000510000 次,足够完成操作

希望能有人给出 hackhack 或更严谨的证明(不自信。。。)

2023/8/11 18:30
加载中...