首页 > 其他分享 >【2023.07.17】牛客&第四范式多校Day1(华中科技大学Round)过题小记

【2023.07.17】牛客&第四范式多校Day1(华中科技大学Round)过题小记

时间:2023-07-17 23:56:24浏览次数:52  
标签:17 cdot dfrac 手里 签到 华中科技大学 过题 节点 杯子

D - Chocolate(博弈论)

12分钟过题。签到。

K - Subdivision(图论、搜索)

1小时21分过题,签到。如果给定的是一棵树的话,新增的点一定位于连接叶子节点的那条边上、否则就是已有的点。然而这是一张图,所以我们可以使用 \(\tt bfs\) 将其近似的转化为一棵树:当某个点(非其父节点)被第二次遍历到的时候,其就相当于叶子节点,当前点到这个点的边就是我们需要增加节点的边。

别忘了统计对已有的点是否满足条件。

J - Roulette(概率、暴力)

3小时228分过题,签到,这道题卡这么久确实没想到。首先从这个数据范围看必然不能是直接暴力递推,于是考虑寻找关系。容易发现,无论何时赢得比赛,手里的钱均加且只加 \(1\) ,而手里的钱的数量直接决定了你能输掉多少盘,于是,考虑对手里的钱的数量进行整数分块。

举例说明,当手里的钱为 \(3,4,5,6\) 时,至多允许输掉一盘,于是组成的概率为 $[1]: $ 直接赢 \(\dfrac{1}{2}\) 、$[2]: $ 输一盘后赢 \(\dfrac{1}{2}^2\) ,随后手里的钱 \(+1\) ;当手里的钱为 \(7,8,\dots,14\) 时,至多允许输掉两盘,于是组成的概率为 $[1]: $ 直接赢 \(\dfrac{1}{2}\) 、$[2]: $ 输一盘后赢 \(\dfrac{1}{2}^2\) ,$[3]: $ 输两盘后赢 \(\dfrac{1}{2}^3\) ,随后手里的钱 \(+1\) 。

块的大小均为 \(2\) 的倍数,最终复杂度 \(\mathcal O(\log 10^9)\) 。

M - Water(数论、贪心)

题意:给定容量为 \(A\) 和 \(B\) 的两个杯子,问至少需要经过几次操作,使得一共可以喝到恰好 \(x\) 单位的水;如果喝不到,输出 \(-1\) 。

定义操作为:将杯子接满、将一个杯子中的水倒到另一个杯子里、将杯子中的水倒掉、喝掉杯子中的水。

先考虑不存在“将一个杯子中的水倒到另一个杯子里”这种情况,发现这样喝一次需要两个操作(倒入被子、喝掉),即寻找一组整数解 \(a\) 和 \(b\) 使得 \(A\cdot a+B\cdot b=x\) 且 \(2\cdot (a+b)\) 最小,这个是个典,用扩展欧几里得即可得解。

随后计算两个杯子倒来倒去的情况。

inf.

H - Matches(数据结构、贪心)

赛时队友说是二维数点。

inf.

标签:17,cdot,dfrac,手里,签到,华中科技大学,过题,节点,杯子
From: https://www.cnblogs.com/WIDA/p/17561663.html

相关文章

  • 7/17
    又是一个晴天,早上有点赖床,睡到了9点多才起,和弟弟在家,但两个人都不想做饭,也不想吃饭。中午12点,昨天晚上炖了些排骨,热热吃了。晚上不想吃饭,就跑了两圈。在那之后下了些稀饭。3km打卡......
  • 每日一题-7-17
    自己的代码能力感觉一直不太行,所以想新开一个专题,记录一下自己每天写Leetcode的每日一题。......
  • 【2023.07.16】清华&字节夏令营资格赛(Tsinghua University Bootcamp. Qualification R
    B-Performance(贪心、排序)23分过题。打卡题,差分+排序。A-CodeLock(图论、搜索)37分由队友单人过题。打卡题,将序列转化为图上问题,随后维护每一个环上相同元素的距离。D-CompanyNetwork(树论、倍增、数据结构)2小时55分全队一起过题。中等难度,对于每一个节点,倍增向上搜索其......
  • CF1777
    EverybodyLikesGoodArrays!简单题。因为偶乘偶为偶,奇乘奇为奇,所以直接找有多少个奇偶性相同的块即可。最后修改次数就是\(n-cnt\)。复杂度\(O(n)\)。#include<bits/stdc++.h>usingnamespacestd;constintN=200+5;intT,n,a[N];intmain(){ ios::sync_wi......
  • CF1781
    tourist场Orz。ParallelProjection分类讨论题。将\(x\)坐标对齐,然后前后绕。将\(y\)坐标对齐,然后左右绕。两种情况取最小值即可。复杂度\(O(1)\)。#include<bits/stdc++.h>usingnamespacestd;intT;intmain(){ ios::sync_with_stdio(false);cin.ti......
  • CF1792
    GamingForces贪心,从小到大排序。对于当前怪物,如果血量大于\(1\),则直接杀死,否则和下一个怪物各扣一滴血。复杂度\(O(n\logn)\)。#include<bits/stdc++.h>usingnamespacestd;constintN=100+5;intT,n,a[N];intmain(){ ios::sync_with_stdio(false);cin.t......
  • 7.17
    #include<stdio.h>intmain(){inti,na,nb,n,ahan[100],ahua[100],bhan[101],bhua[100],counta=0,countb=0;scanf("%d%d",&na,&nb);scanf("%d",&n);for(i=0;i<n;i++)......
  • 2023.7.17
    今天学习弄懂了不少东西,记了一些笔记。学长说我目前这里最关键是栈迁移,然后今天琢磨了不少。进度仍然在ret2dlresolve,这边有点长。在程序链接装载方面又遇到一些新问题,明天要去按照学校要求实习了,不一定有多少时间看ctfwiki,所以打算带本书(程序员的自我修养,或者深入了解计算机系......
  • 2023.7.17
    昨天晚上睡得还可以,找我朋友深夜聊了一下今早走路去驾校感觉有点累到,但是所幸考科目二的时候踩住了离合,还不错科目二一把过啦!今天下午也在努力学习呢,明天准备休息一天!每天都要加油啦! ......
  • CF1775
    A1&A2.GardenerandtheCapybaras(hardversion)超级诈骗题。直接\(O(n^3)\)枚举肯定不行。我们考虑两种情况:B最小:直接看最小的字符是否在区间\((1,len)\)中,如果在则构造成功。B最大:因为B没法做到最小,所以说明\((1,len)\)里全是b,为了让B的字典序最大,显然......