首页 > 其他分享 >10.17

10.17

时间:2022-10-18 23:45:13浏览次数:88  
标签:三方 剪枝 20 分钟 次数 向上 10.17

今天AK了。正如题面中所写,这一场好像就是入门组模拟赛。

过程

开场先看A题,思考了20分钟,没有什么想法,于是跳过这道题,开始往后看。

结果发现B很简单,就花5分钟切了,然后发现C也很一眼,20分钟写了个三方不管了,结果发现D是完完全全的送分题,花了2分钟打完。

这时,时间差不多过了一个小时,检查了一下,觉得300分已经到手了,就开A。

看这 729 的数据范围,就感觉是三方直接冲。思考了20分钟,想出了三方做法,然后开写,再调了一会,在10:00左右过了大样例,但是极限数据要跑12s,然后加了亿点剪枝,卡进了1s,这时大概10:30。

剩下时间反复检查+打瞌睡……

A

这是本场最难的一道题,但是这道题相比原题缩小了数据范围(1000->729),再加上3s的时限,使得 $O(n^3)$ 通过此题不再是幻想。

先记录一下我的很简单的三方做法:

不难发现向左和向右操作是本质相同的,向上和向下操作也是本质相同的,于是只需考虑向左和向上操作的最小次数。

要最小化两个的和,只能枚举向上的次数,然后算出向左的最小次数。枚举了向上的次数,就可以算出每个点至少需要多少次向左才能使它变成黑色。然后类似prim求最小生成树一样bfs,求出一个黑点到其他所有黑点至少需要向左几次就可以了。

复杂度 $O(n^3)$ 可以加许多剪枝。

此外,还可以看看洛谷的题解,可以整体二分。P7274 草地 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

其他题都很简单,就不写了。

标签:三方,剪枝,20,分钟,次数,向上,10.17
From: https://www.cnblogs.com/william555/p/16804641.html

相关文章

  • 2022.10.17-D 摩斯电码
    感谢lby奆奆的指导。思路:首先,\(1\)号的票肯定是越多越好,因此\(a_1,a_n\)一定都是投给\(1\)号。我们考虑二分\(1\)号能获得的席位数\(x\)。显然,对于所有\(\f......
  • 10.17
    T1线段树优化DP[COCI2015-2016#1]RELATIVNOST题目描述您是一位计数大师,有一天您的朋友Luka出了一道问题来刁难您。Luka是一位勤劳的画家,他的画很好,所以会有\(n\)......
  • 10.17
    #include<stdio.h>intmain(){ unsignedlonglongn,i,m=1; scanf("%llu",&n); for(i=1;;i++) {if(n/10==0) {break; }else{ n=n/10; m++;} } printf("%llu",m......
  • 【闲话】2022.10.17
    今天中午喜提huge锐评。比较乐。发现人与人之间的差异还是比较有趣的事情。比如说我与我妈之间关于听歌选择之间的差异,她觉得正常来说听有歌词的歌很正常,觉得我整天......
  • [2022.10.17]面向对象之类与对象
    面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)技术方法有两种调用方式1.通过创建主函数的对象来调用方法2.通过把“static”修饰符把方法可以直接调用函......
  • 闲话 22.10.17
    闲话今天是伊蕾娜生日诶听Muel说的想找张伊蕾娜的图来着然后第一时间想到了CYJian的luogu主页图都可以在评论区发!谢谢你们(一些认为应该被折叠的情绪化内容关于听......
  • 10.17
    今日内容1.异常常见类型2.异常处理语法结构3.异常处理补充4.异常处理实战应用5.生成器对象6.yield冷门用法7.生成器表达式1.异常常见类型SyntaxErrorNameError......