2023河南萌新联赛第(四)场:河南大学(二)

简介: 2023河南萌新联赛第(四)场:河南大学

J:异次元抓捕


在一个时间空间都无穷大的二维的平行宇宙中(为了简化问题,用网格表示空间)


小y因为偷取宝物被发现,开始了逃亡之旅,


小y可以在以自身为中心的边长为(2∗k+1) 的正方形网格中任意移动(1≤k≤1e5)(注意不可以不移动)


每次小y移动过后,追捕者会在空间中放下一个障碍物,拦截小y,(一个障碍物会占领一个1*1的网格)(障碍物不会出现在小y脚下))


由于小y有着高超的身法,小y可以在移动过程中越过障碍物,但是不能停留在有障碍物的地方。


(如图当k=1的时候,蓝色网格为小y的可移动范围)


小y和追捕者都聪明绝顶,小y知道所有障碍物的位置,追捕者也知道小y的位置

并且两者都会选择最优的策略,

如果最后小y被障碍物围住而无法再次移动,就会被抓住。

你需要判断小y是否会被抓住

如果小y会被抓住 , 输出YES

否则,输出NO


输入描述:

第一行包含一个正数t(1≤t≤1e5)------问题询问次数

每次询问输入一个整数k

输出描述:

对于每个测试用例

如果会被抓住,输出YES

否则,输出NO


示例1:


输入:

1. 2
2. 1
3. 617

输出:

1. YES
2. NO


思路:k==1时能抓到,输出YES,否则输出NO。


void solve()
{
    int k;
    cin>>k;
    if(k==1)
    cout<<"YES"<<endl;
    else
    cout<<"NO"<<endl;
    return ;
}


K:奖励关


有一个可以无限重生的boss,开始时boss有1点生命值,当boss被击败后(血量小于等于0时),玩家可以获得1点积分,此后boss会复活并且血量翻倍(第一次复活是2,第二次是4,第三次是8,依次类推,复活之后boss满血),再次击败boss后可以再次获得1点积分。

boss不会行动,初始时玩家攻击力为1,玩家可以行动 n 个回合,对于每一个回合玩家可以选择下面三种操作的一个。

操作1:攻击 对boss攻击,boss降低的血量等于玩家的当前攻击力

操作2:攻击强化 攻击力永久 × 2

操作3:蓄力 下次攻击时,攻击力 × 8,可以叠加(两次蓄力后可以 × 64,但是攻击之后增益消失),只对第一次攻击有收益


示例:执行5次操作,分别为22311,那么第一次的攻击时攻击力是32,第二次的攻击时攻击力是4


输入描述:


第一行一个正整数 T(T≤105)  代表多组询问


接下来 T 行,每行一个正整数n(n≤1e9)代表此轮可以进行的操作数


输出描述:


T行,每行一个整数 ,输出玩家选择最优的操作方案可以获得的最大积分数


示例1


输入

1. 2
2. 1
3. 3

输出

1. 1
2. 2


备注:

当前攻击力等于 2^(i+3× j ),i表示已执行操作2的次数 ,jjj表示当前攻击与上一次攻击间隔间的操作3的次数


思路:仔细思考会发现,蓄力的收益在n较小时和强化一样,但是在n较大时强化的收益远远大于蓄力带来的,所以直接一直强化即可。


void solve()
{
    int n,a=1,b=1,sum=0;
    cin>>n;
    cout<<(n+1)/2<<endl;
    return ;
}


M:找孙子


ym 刚刚被他的儿子冷落了,他现在想要找他的孙子诉诉苦


给定一个有向无环图,请你找出对于每个节点,对于其作为爷爷节点时,存在多少对爷爷-孙子关系


爷爷-孙子关系的定义是,如果在有向无环图中存在有向边 (x, y)(x,y) 和 (y, z)(y,z), 那么称 zz 是 xx 的孙子, 有序对组 [(x, y), (y, z)] 称为一个爷爷-孙子关系


请注意: 对于相同的一对爷爷,孙子节点,可能存在不同的中间节点,使得爷爷-孙子关系数量大于一

输入描述:

第一行输入两个正整数 nn, mm, 数据保证 1<=n<=1e6,1≤m≤2×1e6


接下来 mm 行,每行两个正整数 uu, vv 表示存在一条有向边 (u, v)


数据保证不存在重边和自环

输出描述:

输出一行 nn 个数字,用空格分隔开,第 ii 个数字表示编号为 ii 的节点的孙子数量

示例1


输入

1. 5 10
2. 5 3
3. 2 3
4. 1 2
5. 4 1
6. 1 3
7. 4 2
8. 2 5
9. 4 3
10. 1 5
11. 4 5

输出

3 1 0 6 0


思路:分别用一维vector容器来遍历,二维vector容器储存孙节点个数(想着二维数组内存过不了,二维vector居然能过)


#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
    int n,m;
    cin>>n>>m;
    vector<vector<int>> graph(n + 1);
    vector<int> grandchildren_count(n + 1, 0);
    for (int i=0;i<m;i++) 
  {
        int u,v;
        cin>>u>>v;
        graph[u].push_back(v);
    }
    for (int i=1;i<=n;i++) {
        for (int j:graph[i]) {
            for (int k:graph[j]) {
                grandchildren_count[i]++;
            }
        }
    }
    for (int i=1;i<=n;i++) {
        cout<<grandchildren_count[i]<<" ";
    }
    return 0;
}

目录
相关文章
|
JSON JavaScript 前端开发
vue使用neovis操作neo4j图形数据库
vue使用neovis操作neo4j图形数据库
vue使用neovis操作neo4j图形数据库
|
12月前
|
机器学习/深度学习
深度学习中的模型压缩技术
【10月更文挑战第5天】 本文探讨了深度学习中的模型压缩技术,包括权重剪枝与共享、低秩分解、知识蒸馏和量化等方法。通过这些技术,我们可以在保持模型性能的同时减少模型的大小和计算量,从而提升模型的实用性。
171 1
|
人工智能 自然语言处理 Swift
"轻量级微调推理框架SWIFT:大模型时代的速度革命,让你秒变AI部署高手!"
【8月更文挑战第17天】随着AI技术的发展,大模型如GPT-3和BERT引领风潮,但其部署与推理速度面临挑战。为此,魔搭社区推出了SWIFT(Simple Weight-Integrated Fine-Tuning)框架,它采用轻量级微调技术,实现模型参数压缩与加速,确保大模型能在移动端和边缘设备上高效运行。SWIFT具备四大特点:创新微调方法减少训练参数;内置优化策略提高推理速度;跨平台支持便于部署;兼容主流预训练模型。通过示例可见,从加载预训练模型到模型的微调、评估及导出,SWIFT简化了工作流程,降低了大模型的应用门槛,促进了AI技术的实际应用。
1178 4
|
JavaScript Java 测试技术
基于springboot+vue.js的社区养老服务系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的社区养老服务系统附带文章和源代码设计说明文档ppt
184 0
|
安全 关系型数据库 测试技术
2021年中职“网络安全“江西省赛题—B-2:Linux操作系统深入测试
2021年中职“网络安全“江西省赛题—B-2:Linux操作系统深入测试
229 1
|
移动开发 前端开发 UED
CSS3 常用样式属性
CSS3 常用样式属性
87 0
|
Java 关系型数据库 数据库
【Spring Cloud Alibaba Sentinel 实现熔断与限流】 —— 每天一点小知识(下)
【Spring Cloud Alibaba Sentinel 实现熔断与限流】 —— 每天一点小知识(下)
336 0
|
消息中间件 存储 调度
RT-Thread记录(七、IPC机制之邮箱、消息队列)
讲完了线程同步的机制,我们要开始线程通讯的学习,线程通讯中的邮箱消息队列也属于 RT-Thread 的IPC机制
698 0
RT-Thread记录(七、IPC机制之邮箱、消息队列)
|
存储 数据采集 机器学习/深度学习
|
存储 分布式计算 关系型数据库
DolphinScheduler 之Docker 部署
Docker 容器通过环境变量进行配置,附录-环境变量 列出了 DolphinScheduler 的可配置环境变量及其默认值
2731 0