• 【济南集训】20191006解题报告


    (离第一就差一点点,死亡)

    第一题良心保底题(然而这个我也没有抓住)

    有个特判忘了。。自闭

    第二题就是裸的最长不下降子序列,我数组开小了,挂了3个点。。。

    第三题又蓝又紫,我做不好。。

    120。。被安排的明明白白

    第一题:

    猜数游戏(guess
    【题目描述】
    企鹅豆豆和企鹅豆沙在玩一个简单的猜数字小游戏,豆沙心想一个在 [1; 109] 之内
    的正整数,然后豆豆猜一个数字,豆沙会告诉豆豆他猜的数字和答案的差的绝对值。这
    个游戏进行了很多轮,然后现在告诉你他们每次问答记录,你需要推出每轮的答案,或
    者判断存在多解或者无解。
    【输入格式】
    从文件 guess.in 中读入数据。
    输入一行一个正整数 N 。接下来 N 行,每行两个整数 ai; biai 表示第 i 轮豆豆猜
    的值, bi 表示第 i 轮豆沙回答的差。
    【输出格式】
    输出到文件 guess.out 中。
    输出一行 N 个整数表示这 N 轮答案。
    如果第 i 轮的答案存在且唯一,则输出这个答案。
    如果第 i 轮存在多个答案,输出 -1
    如果第 i 轮不存在答案,则输出 -2
    【样例 1 输入】
    2
    3 5
    10 11
    【样例 1 输出】
    8
    21

    很良心的一道题。。应该算是打卡题了

    只需要注意一个点,要特判b=0的情况

    代码十分简单就不放了

    第二题:

    绝世秒题(silly
    【题目描述】
    企鹅豆豆有一个序列非负整数 A ,然后他想找出 A 的一个子序列 B ,满足对于 B
    中任意相邻两个元素的异或值大于 3,即 Bi xor Bi+1 > 3
    现在他想知道序列 B 的长度最长能有多长?
    这里的异或是指二进制异或,对应了 C + + ˆ 运算符。
    【输入格式】
    从文件 silly.in 中读入数据。
    输入的第一行包含一个正整数 n,保证 n 106,表示序列 A 的长度。
    接下来一行 N 个非负整数,表示序列 A。保证序列 A 中的每个元素不超过 109
    【输出格式】
    输出到文件 silly.out 中。
    输出一个整数表示 B 可能的最长长度。
    【样例 1 输入】
    5
    9 6 93 2 1
    【样例 1 输出】
    4
    【样例 1 解释】
    比如子序列 9 6 93 1 就是一个长度为 4 的合法子序列,并且没有长度为 5 的合法
    的子序列。

    裸裸的最长不下降子序列,当时想到的时候十分激动,终于可以A一道题了。。。

    结果数组开小了

    血的教训

    10n=1*10n+1(不会你就给我用计算器啊啊啊)

    数组加了一个0的AC代码:

    #include<iostream>
    #include<cstdio>
    using namespace std;
    void read(int &x)
    {
        char c=0;
        x=0;
        while(!isdigit(c))
        c=getchar();
        while(isdigit(c))
        x=x*10+c-'0',c=getchar();
    }
    int a[1000001],dp[1000001];
    int p,n;
    int main()
    {
        freopen("silly.in","r",stdin);
        freopen("silly.out","w",stdout);
        read(n);
        for(int i=1;i<=n;i++)
        {
            read(a[i]);
        }
        p=a[1];
        for(int i=1;i<=n;i++)
        {
            if((a[i]^p)<=3)
            {
                dp[i]=dp[i-1];
            }
            if((a[i]^p)>3)
            {
                dp[i]=dp[i-1]+1; 
                p=a[i];
            }
        }
        printf("%d",dp[n]+1);
        fclose(stdin);
        fclose(stdout);
        return 0;
    }

    第三题:

    五彩树(tree
    【题目描述】
    企鹅豆豆有一颗五彩斑斓的树,每一个节点上有一种颜色 Ci。一对节点的缤纷值
    定义为这两个节点之间的路径上的不同的颜色数。一个节点的绚丽值就是它和所有点
    的缤纷值的和。现在企鹅豆豆想要知道每个点的绚丽值是多少?
    【输入格式】
    从文件 tree.in 中读入数据。
    第一行一个整数 N, 代表树的节点个数;
    接下来一行有 N 个数,第 i 个数代表每个节点的颜色值 Ci
    接下来 N - 1 行,每行两个数字 u; v,表示 u v 之间有一条边。
    【输出格式】
    输出到文件 tree.out 中。
    输出 N 行,每行一个数。第 i 行表示第 i 个节点的绚丽值。
    【样例 1 输入】
    5
    1 2 3 2 3
    1 2
    2 3
    2 4
    1 5
    【样例 1 输出】
    10
    9
    11
    9
    12
    【样例 1 解释】
    对于第一个点,它和 12345 号点之间的缤纷值分别为 12322。所以他的绚丽值
    1 + 2 + 3 + 2 + 2 = 10

    这题。。。我用了Floyd暴力。。

    写了大概三四十行if吧。。。

    (真不怕RE----来自wsq)

    然后光荣的没有调出来。。

    正解思路是从链开始推,在放到树上就行。

    (RP++!)

  • 相关阅读:
    whith ~ as 用法
    python函数 传参的多种方式 解读
    关于HTTP协议,一篇就够了
    appium+python自动化 adb shell按键操作
    貌似这个官网有api按,有空研究下
    切换了webview 定位不了的解决方法 (还没有试,记录在此)
    补充appium -api
    appium 点击物理按键
    修改最后一次 已commit 的备注
    场景记录
  • 原文地址:https://www.cnblogs.com/Daz-Os0619/p/11628385.html
Copyright © 2020-2023  润新知