zoukankan      html  css  js  c++  java
  • Codeforces Round #380~#400 div2 总结

    *:刷这些题注要是为了提升1A率,以及做题效率,读题效率,英语水平…

    Round 380:

    • 耗时:45min 错误:A*1,B*0,C*1. 评价:低
      主要时间浪费在第三题的调试和读题上

    A. Interview with Oleg

    • 题意:
      给你一个字符串,把其中的ogogogo串用***代替,输出操作后的串。
    • 题解:
      O(n)扫一遍,检验每个点延伸到的最远的ogogo串,然后在ans数组中加上***
    • 错误:
      1.被题意杀,以为一个ogo用1个*

    B. Spotlights

    • 题意:
      给你一个n行m列的01图,对于一个点的一个方向,它有贡献当且仅当该位置为0且该方向上至少有一个1.
    • 题解:
      记录4个数组分别表示每个点的上下左右有没有1,最后统计一遍。
    • 错误:1A

    C. Road to Cinema

    • 题意:
      给你n(<=2e5),k(<=2e5),s(<=2e9),t(<=2e9)分别表示车的数量,加油站的数量,终点距离,要求时间(在t或t之前到)。
      每辆车有两个属性:c(价格),v(油量)。
      车有两种模式:
      1. 平常模式:2分钟1单位长度,油耗为1。
      2. 加速模式:1分钟1单位长度,油耗为2。

    在加油站加油不需要时间且能加满。
    起点为0,终点为s。
    接下来给出所有车的信息(c,v)和加油站的信息(离起点的距离)
    求在t时间及以内达到s的最小代价(车价),若不能则输出-1。

    • 题解:
      首先发现很容易判断对于一个容量是否可行,那么就可以二分这个容量,找到最小合法容量再借此找到最小代价。
    • 错误:
      1.数组范围开小了。。

    Round 381:

    • 耗时:25min 错误:A*1,B*0,C*0. 评价:中
      主要时间浪费在第三题读题上

    A. Alyona and copybooks

    • 题意:
      给你四个数:n,a,b,c(0<=n,a,b,c<=1e9),表示已有n本书,买1本书a元,2本b元,3本c元,求最小的代价使(n+买的书)%4=0
    • 题解:
      先把n%4不用说,然后分讨买i(0< i <=4)本书的最小代价。
      f[1]=min(a,min(b+c,3*c));
      f[2]=min(b,min(a+a,c+c));
      f[3]=min(c,min(3*a,a+b));
      f[4]=0;
    • 错误:
      1.f[1]漏讨论3*c的情况。
      2.以为1e9不会溢出就没开long long.

    B. Alyona and flowers

    • 题意:
      给你一个长度为n(<=100)的数组,其中有正有负,再给你m(<=100)l,r,表示这个操作的价值为ri=lai
      对于每个操作你可以选也可以不选,求最大的价值。
    • 题解:
      维护前缀和,如果某个操作的前缀和>0就加上去。
    • 错误:1A

    C. Alyona and mex

    • 题意:(这题意真是。。。)
      定义mex为从0开始,不在集合中的最小的数。
      给你n,m,分别表示a[]数组元素个数和信息数量,接着给出m个询问l,r表示a[]数组中a[l]~a[r]的mex,现在要求出a数组,使所有询问中最小的mex最大。
    • 题解:
      看懂这题目就真是简单了。。。首先最小的mex最大那就是最小的区间的元素个数嘛,然后a数组就只需要在每个位置对ans取模即为答案了(保证别的询问都大于它)
    • 错误:1A

    Round 382:

    • 耗时:33min 错误:A*0,B*0,C*0. 评价:中
      主要时间浪费在第三题推导上

    A. Ostap and Grasshopper

    • 题意:
      给你一个字符串,由'.','#','G','T'组成,这四个分别代表空地,障碍,起点,终点,障碍上不能站。
      再给你一个数字代表一步跳的长度,问是否能从起点到达终点。
    • 题解:
      先判无障碍情况能不能到,然后再模拟一步步跳
    • 错误:1A

    B. Urbanization

    • 题意:
      给你n,n1,n2,n个数字,从这n个数字中分别选出n1,n2个数(一个数只能选一次),使Set n1的平均数+Set n2的平均数最大,输出这个值,精度误差1e6以内。
    • 题解:
      贪心,首先肯定选n1+n2个最大的数,那么怎么分配? 我们稍稍脑补一下就可以知道应该是将前面的大的数分给min(n1,n2)。这样做一遍就可以了
    • 错误:1A

    C. Tennis Championship

    • 题意:
      n(<=1e18)个人进行比赛。
      一个人能和另一个人比赛的条件是他们所赢场数的差小于等于1.
      一个人失败后立刻淘汰,问胜利者最多能进行多少场比赛
    • 题解:
      显然我们的思路是将n分成两块比n小的来看,那么实质上就是这两块的胜利者再比一次,这时我们发现分配这两块的人数十分困难,那么假设答案为ans,那么这时我们想到最赚的方法肯定是一个赢ans-1的和一个赢ans-2的人比,而且这两个都是可以递推的,最后其实我们发现这就是一个斐波那契数列,我们的答案便是最大的小于n的斐波那契数的项数。(这肯定有点绕,但这确实是我的思考过程)

    • 错误:1A

    Round 383:

    • 耗时:–min(评测机GG) 错误:A*1,B*6,C*4. 评价:低到爆炸
      想必我做这套题的时候在睡觉…

    A. Arpa’s hard exam and Mehrdad’s naive cheat

    • 题意:
      1378^n最后一位,n<=1e9
    • 题解:
      显然做8^n次就可以了,然后再化为2^3n,然后mod一下,然后就没有然后了…
    • 错误:
      1.那个规律数组都能打错…

    B. Arpa’s obvious problem and Mehrdad’s terrible solution

    • 题意:
      给你n,x(<=100000),求ni=1nj=i+1[a[i] xor a[j]=x].
    • 题解:
      开cnt数组记录每个数出现的次数,那么ans=1e5i=1cnt[i]cnt[x xor i]
      但其中有个例外,当x^i==i时答案只能加cnt[i]*(cnt[x^i]-1)
    • 错误:
      1.因为数组大小原因没有特盘x^i>1e5的情况RE了
      2.没有讨论x^i==i的情况WA
      3.意识模糊随便乱交…

    C. Arpa’s loud Owf and Mehrdad’s evil plan

    • 题意:
      给你长度为n(<=100)的数组,表示一个人的后继,让你求一个数x,使其满足这个条件:
      设a的x次后继为b,那么要求b的x次后继为a;
      注意:一个人的后继有可能是自己.
    • 题解:
      首先有两三种情况:

      1. 一个人的a次后继是自己且他在a次之内访问过的人的a次后继也是自己(即这若干个人形成了一个环)
      2. 一个人走若干次能到达另一个人,而另一个人却到不了这个人(即非环).
      3. 一个人的后继就是自己(第一种的特殊情况).

      那么显然如果含第二种情况显然GG了.
      所以现在只考虑1,3情况,由于第三种情况可以不考虑.(显然无论几次后继都是自己)
      好那么就只剩第1种了,这就很简单了,只要求这些数的lcm就可以了.

    • 错误:1A

    Round 384:

    • 耗时:<30min(评测机继续GG) 错误:A*1,B*1,C*1. 评价:低

    A. Vladik and flights

    • 题意:
      给你一个01字符串,以及起点和终点,同色穿梭不需要代价,异色穿梭代价为两点的坐标差,求起点到终点的代价
    • 题解:
      同色为0,异色为1(脑补一下呗…)
    • 错误:
      1.我居然naive到还去找了离起点最近的异色点…(手动巴掌)

    B. Chloe and the sequence

    • 题意:
      给你n,k,分别表示操作次数,询问的位置.
      初始序列为1,每次操作为:原串+’操作次数’+原串. 例子:原串为121,操作后变为1213121
      求n次操作后第k个位置的数是什么
    • 题解:
      我们稍微观察一下就能发现这和二分搜索有奥妙重重的关系->a[i]=n-二分搜到这个位置的次数.那么我们就这么做就可以了
    • 错误:
      1.二分的mid没开long long

    C. Vladik and fractions

    • 题意:
      给你n,求2n=1x+1y+1z 中x,y,z.
      输出任意解,如果没有就输-1.
    • 题解:
      首先我们模拟一遍样例,然后我们就能发现规律:x=n,y=n+1,z=n*(n+1),好,输出就行了…

    • 错误:
      1.如此一道弱智题我竟忘了1要特判-1…

  • 相关阅读:
    【Selenium WebDriver】浏览器操作篇:打开浏览器、打开URL、关闭浏览器、获取页面的URL, Title, Source
    【读书笔记----云计算】云计算前世今生(基本概念)
    【Servlet入门】HelloServlet 小例子
    【Web前端知识从零开始】-- 浏览器F12、DOM 基础、页面元素定位
    生活常识
    工具的使用技巧
    业务知识
    工作方式
    Oracle SQL
    出差-闽西
  • 原文地址:https://www.cnblogs.com/functionendless/p/9439364.html
Copyright © 2011-2022 走看看