hjdidw 2024-10-03 16:47 采纳率: 42.9%
浏览 0
已结题

一共三道,求解,望应答,AC采纳

好数(number)

题目描述

小 Z 有一个长度为 $n$ 的序列 $A={a_1,a_2,\cdots,a_n}$。

如果对于数 $a_i$,在下标为 $[1,i-1]$ 的区间内如果存在三个数使得这三个数这和恰好等于 $a_i$,那么称这个数为好数。

小 Z 想知道这个数列中共有多少个这样的好数。

注意:数列中的数字可以重复使用

输入格式

第一行输入一个正整数 $n$ 表示数列的长度。

第二行输入 $n$ 个整数 $a_1,a_2,\cdots,a_n$。

输出格式

输出一行一个正整数表示好数的个数。

样例 #1

样例输入 #1

2
1 3

样例输出 #1

1

样例 #2

样例输入 #2

6
1 2 3 5 7 10

样例输出 #2

4

样例 #3

样例输入 #3

3
-1 2 0

样例输出 #3

1

数据范围

对于 $40%$ 的数据,$n \le 50$。

对于 $70%$ 的数据,$n \le 500$。

对于 $100%$ 的数据,$n \le 5000,-10^5 \le a_i \le 10^5$。

小 Z 的彩票序列(lottery)

题目描述

众所周知,小 Z 很贫穷。当上帝听说这件事后,他决定帮助这个可怜的小 Z 摆脱悲惨的处境。

有一天,小 Z 在梦中遇到了上帝,上帝给了他一个神秘的数字 $x$,这个数字将会给小 Z 带来巨大的财富。具体来说这个数字 $x$ 是彩票的号码结果,其价值高达五千万美元。

小 Z 非常兴奋,以至于小 Z 准备购买 $n$ 张彩票,彩票编号为 $1,2,\cdots,n$,每张彩票的数字可以分别用 $a_1,a_2,\cdots,a_n$ 表示。但是小 Z 还没有收到这些彩票。

这个彩票的中奖规则是这样的,小 Z 可以从收到的彩票中任意挑选一些彩票,假设选 $k$ 张彩票,彩票编号为 $b_1,b_2,\cdots,b_k$,如果这些彩票的按位或,即 $a_{b_1} | a_{b_2} | \cdots | a_{b_k}=x$,那么小 Z 就可以获得这一份大奖。其中 $|$ 表示 C++ 中的按位或运算。

作为彩票店的老板小 Y,不想让小 Z 获得这些大奖,所以小 Y 会在发给小 Z 这 $n$ 张彩票之前,拿走(删除)一些彩票。使得小 Z 收到删掉之后剩余的彩票序列后,无论小 Z 选择哪些彩票参与按位或运算,都无法中奖。

问小 Y 最少需要拿走(删除)多少张彩票?

输入格式

第一行输入两个正整数 $n,x$ 分别表示彩票个数和中奖数字。

第二行包含 $n$ 个整数 $a_1,a_2,\cdots,a_n$。

输出格式

输出一行一个整数表示答案。

样例 #1

样例输入 #1

3 7
4 2 1

样例输出 #1

1

数据范围

对于 $20%$ 的数据,$n\le 10,1\le x,a_i \le 10^4$。

对于 $50%$ 的数据,$n\le 10^3,1\le x,a_i \le 10^5$。

对于 $100%$ 的数据,$n\le 10^5,1\le x,a_i \le 10^9$。

扁平化最短路(path)

题目描述

有一个 $2$ 行 $n$ 列的网格状地牢,每个格子都是一个房间,你最开始在左上角坐标为 $(1,1)$ 的房间,每次可以走向当前所在房间的相邻房间(如果存在的话)。

但是地牢显然不是旅游景点,里面充满了危险。你身后随时有怪物追逐,因此你不能走进你以前已经进入过的房间;同时怪物也会封堵你的逃跑路线,因此你不能进入当前房间左侧的房间。

然而也并不是无法逃脱,只要你了解了整个地牢的结构,你就能安全离开这里。

每个房间有一个复杂程度 $a_{i,j}$,表示你经过这个房间需要花费的时间(包括出发点的 $(1,1)$ 房间),你经过一个房间后就会获取这个房间的情报。

在 $(1,1)$ 房间中有 $k$ 个道具,每个道具使用后可以立刻获取任何一个房间的情报。你可以在到达 $(1,1)$ 后的任何时候使用它们,但是每个道具只能使用一次

  • 即你在到达起点,站在起点 $(1,1)$ 格子后,就获得了 $k$ 个道具,在此后的任意一个时间节点,都可以使用这些道具。

当你获取了所有 $2n$ 个房间的情报后,你就可以成功逃脱。

为了防止被追上,动作自然越快越好,那么,你最少需要多少时间才能逃脱?

输入格式

第一行两个整数 $n,k$,表示地牢的列数和持有的道具数。

接下来两行每行 $n$ 个整数 $a_{i,j}$,表示探明对应房间情报所需要的秒数。

输出格式

一行一个整数,表示逃脱需要的最少秒数。

样例 #1

样例输入 #1

5 2
9 5 7 4 2
8 6 1 3 0

样例输出 #1

30

数据范围

对于前 $20%$ 的数据,$k=0$。

对于前 $50%$ 的数据,$k\le 1$。

对于另外 $10%$ 的数据,$k\ge 2n$。

对于另外 $20%$ 的数据,$n\le 10$。

对于 $100%$ 的数据,$1\le n\le 10^5, 0\le k \le 100, 0\le a_{i,j} \le10^9$。

  • 写回答

2条回答

  • zsr旺财97 2024-10-03 17:38
    关注

    您稍等一下
    这是第一题的代码

    #include <bits/stdc++.h>
    using namespace std;
    long long a[5005];
    int main() {
        int n;
        cin >> n;
        for (int i = 1; i <= n;i++) {
            cin >> a[i];
        }
        set<long long> s;
        int cnt = 0;
        for (int i = 1; i <= n;i++) {
            if (s.count(a[i])) {
                cnt++;
            }
            for(int j=1;j<i;j++){
                if(j==i-1){
                    s.insert(a[j]*2+a[i]);
                    s.insert(a[j]+a[i]*2);
                }
                s.insert(a[j]+a[j+1]+a[i]);
                s.insert(2*a[j]+a[i]);
                s.insert(a[j]+2*a[i]);
            }
            s.insert(a[i]*3);
        }
        cout << cnt ;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月3日
  • 已采纳回答 10月3日
  • 创建了问题 10月3日

悬赏问题

  • ¥20 IDEA 下 lombok 不生效,找不到get
  • ¥15 sas无法加载传输模块
  • ¥15 ABAQUS模拟钢管混凝土往复荷载,滞回曲线卸载荷载却比加载荷载大是为什么
  • ¥15 IOS设置了charels得代理,但是显示无互联网连接,无法打开chls.pro/ssl下载证书
  • ¥40 一维度流体仿真软件前端如何开发
  • ¥500 DELPHI环境安卓定位实时发送及回调消息展示
  • ¥15 易视腾is-E5-ngh怎么刷机,求各位们分享一下吧
  • ¥15 Androidstudio的程序,求各位帮帮我
  • ¥15 岩石声发射矩张量反演软件
  • ¥15 用Python完成一个任务