我是靠谱客的博主 昏睡鸡,最近开发中收集的这篇文章主要介绍2019杭电暑期多校训练营 题解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【第十场】

E:Welcome Party(思维)

I:Block Breaker

题解:bfs寻找当前位置上下左右四个方向还有方块的位置,是否会存在影响使得方块掉落,计数输出即可。

【第九场】

B:Rikka with Cake(离散化+树状数组)

E:Rikka with Game

题解:如果第一位是z,那么显然先手会选择把z->a,后手显然会把a->b,然后先手会选择结束游戏保证字典序不再变大。如果第一位是y,那么先手肯定不会去把y->z因为这样字典序会变大,后手也不会把y->z因为这样先手就可以把z->a,所以只有三种情况。第一,字符串以z开头,z->b,游戏结束;第二,字符串以y开头(可连续多个),把紧接着的第一个z->b(类型yyza这种),结束;第三,直接结束。

        scanf("%s",&s);
        for(int i=0;s[i];i++){
            if(s[i]=='z'){
                s[i]='b'; break;
            }
            if(s[i]=='y') continue;
            else break;
        }
        printf("%sn",s);

F:Rikka with Coin(思维+枚举)

【第八场】

I:Calabash and Landlord(分类讨论)

J:Quailty and CCPC

题解:直接模拟,我怕失精度就用 (d*n)%10==5 判断是否等于0.5。注意队名长度不超过10,数组太长会tle。

        if((d*n)%10==5){
            sort(f,f+n,cmp);
            int pos=d*n/10;
            printf("%sn",f[pos].s);
        }
        else{
            puts("Quailty is very great");
        }

K:Roundgod and Milk Tea(思维)

【第七场】

A:A + B = C(思维)

F:Final Exam (贪心+思维)

J:Just Repeat(贪心+思维)

K:Kejin Player(期望dp+逆元)

【第六场】

因为太难了有点自闭就很咸鱼的没补题dbq我来了

等会。。

L:Stay Real

题解:因为是在最小堆轮流选取编号最大的节点,所以一定是先选完大的才选小的,排序从大到小轮流选取求和输出即可。

【第五场】

A:fraction(辗转相除法)

B:three arrays(01字典树)

D:equation(数学)

E:permutation 1(思维)

F:string matching

题解:拓展KMP裸题,只要考虑最长前后缀匹配是否匹配到最后一步,如果不是就+1再求和即可。

前置知识:字符串的模式匹配算法 —— BF算法、KMP算法和拓展KMP

G:permutation 2

递推式:dp[i]=dp[i-1]+dp[i-3],边界条件: dp[0]=dp[1]=dp[2]=1。

【第四场】

A:AND Minimum Spanning Tree( lowbit(x+1) )

C:Divide the Stones(找规律)

G:Just an Old Puzzle 

题解:结论题。数字华容道,必然有解,只存在于如下3个细分情形:

  1. 若格子列数为奇数,则逆序数必须为偶数;
  2. 若格子列数为偶数,且逆序数为偶数,则当前空格所在行数与初始空格所在行数的差为偶数;
  3. 若格子列数为偶数,且逆序数为奇数,则当前空格所在行数与初始空格所在行数的差为奇数。

J:Minimal Power of Prime(数论)

【第三场】

F:Fansblog(威尔逊定理+逆元)

G:Find the answer(思维+multiset)

【第二场】

E:Everything Is Generated In Equal Probability (推荐一篇详细的博文)

J:Just Skip The Problem

题解:最优方案是一次确定一位,也就是总方案有n!,对mod=1e6+3取模那么小于mod直接暴力求取,否则为0 。

K:Keen On Everything But Triangle(静态主席树)

【第一场】

B:Operation(贪心+前缀线性基求最大异或和)

D:Vacation(思维+枚举)

E:Path(最短路+最小割)

最后

以上就是昏睡鸡为你收集整理的2019杭电暑期多校训练营 题解的全部内容,希望文章能够帮你解决2019杭电暑期多校训练营 题解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部