2019百度之星初赛 第一场 | 部分题解(1001,1002,1005)

百度之星 2024 决赛 题解 intforint1; 阅读详情

做了1001 和 1005

以为最后能把1002给A掉的

不知道为啥WA了 但是贪心的思路没错。。

 

01 Polynomial

HDU 6668 数学/暴力判断

题目大意:给出 f(x) 和 g(x) 的函数各个多项式的系数,求 x\rightarrow \infty时,f(x)/g(x) 的值(输出用分数表示)

思路:判断两个多项式的最高位,如果两者系数都为0,则判断下一位;

如果其中有一个系数为0,则趋向于正无穷 或者 趋向于0 (判断0在f(x)还是g(x)上

如果两个系数都不为0,就先算两者的最大公因数 = gcd(x1,x2) ,然后得到 ( f(x)/gcd ) / ( g(x)/gcd )

#include <bits/stdc++.h>
using namespace std;
int a[1005], b[1005];
int gcd(int a, int b)
{
    return b ? gcd(b, a % b) : a;
}
int main()
{
    int t;
    scanf("%d", &t);
    while (t--) {
        int n;
        int numa = -1, numb = -1;
        scanf("%d", &n);
        for (int i = 0; i < n; i++) {
            scanf("%d", &a[i]);
        }
        for (int i = 0; i < n; i++) {
            scanf("%d", &b[i]);
        }
        for (int i = n - 1; i >= 0; i--) {
            if (a[i] > b[i]) {
                if (b[i] == 0) {
                    numa = 1;
                    numb = 0;
                } else {
                    int g = gcd(a[i], b[i]);
                    numa = a[i] / g;
                    numb = b[i] / g;
                }
                break;
            } else if (a[i] < b[i]) {
                if (a[i] == 0) {
                    numa = 0;
                    numb = 1;
                } else {
                    int g = gcd(a[i], b[i]);
                    numa = a[i] / g;
                    numb = b[i] / g;
                }
                break;
            } else {
                continue;
            }
        }
        printf("%d/%d\n", numa, numb);
    }
    return 0;
}

 

05 Seq

HDU 6672 打表找规律

中间注释掉的是打表的过程emm

 

#include <bits/stdc++.h>
using namespace std;
int a[1005], b[1005];
int gcd(int a, int b)
{
    return b ? gcd(b, a % b) : a;
}
long long n;
int main()
{
    int t, sum;
    long long ans = 0, n;
    scanf("%d", &t);
    a[1] = 1;
//    for (int i=2;i<1000;i++)
//    {
//        sum = 0;
//        for (int j=1;j<=i-1;j++)
//        sum+=(a[j]*(j)%i);
//        a[i] = sum%i;
//    }
//    for (int i=1;i<100;i++)
//        printf("%d * %d\n",i,a[i]);
    while (t--) {
        scanf("%I64d", &n);
        if (n == 1 || n == 2) {
            ans = 1;
        } else {
            long long num = (n - 3) % 6;
            long long sum = (n - 3 - num) / 6;
            if (num == 0 || num == 2) {
                ans = sum;
            } else if (num == 1) {
                ans = sum * 6 + 3;
            } else if (num == 3 ) {
                ans = sum * 3 + 3;
            } else if (num == 4) {
                ans = sum * 4 + 5;
            } else if (num == 5) {
                ans = sum * 3 + 4;
            }
        }
        printf("%I64d\n", ans);
    }
    return 0;
}

 

02 Game

HDU 6669 贪心

快到比赛结束的时候 测评鸡卡得不行

以为自己思路很完美 但是还是少考虑了一个点emm

题目大意:一次通过n个区间 [ ai,bi ],到达区间的顶点也算到达,初始位置可以由你确定,一次可以走一格或者两个,最少需要走几次?

思路:从最开始寻找两个区间的交集,因为在交集内,可以任取一个位置,如果区间相交,更新区间为相交区间,再与下一个区间比较;如果区间不相交,比较两个区间的位置,得到最短的路程。

因为可以走一格或者两格,如果路程是偶数,那么就直接走到了;如果是奇数,最后一步可以是一格也可以是两格,这会影响下一步的步数,所以更新区间时把区间+1。

参考:https://blog.youkuaiyun.com/weixin_43331783/article/details/99703296

比赛的时候没有考虑到最后一步一格和两格的区别 导致WA到比赛结束……TAT

代码:

#include <bits/stdc++.h>
using namespace std;
struct node
{
    int a, b;
} x[1005];

bool jiao(node m, node n)
{
    if (m.a > n.b && m.b > n.b)
    {
        return false;
    }
    else if (m.a <n.a && m.b <n.a)
    {
        return false;
    }
    return true;
}

int main()
{
    int t, n;
    scanf("%d", &t);
    int ans;
    while (t--)
    {
        memset(x, 0, sizeof x);
        scanf("%d", &n);
        ans = 0;
        for (int i = 0; i < n; i++)
        {
            scanf("%d%d", &x[i].a, &x[i].b);
        }
        if (n == 1)
        {
            ans = 0;
        }
        else
        {
            node q = x[0];
            for (int i = 0; i < n ; i++)
            {
                if (jiao(q, x[i]) == true)
                {
                    q.a = max(q.a, x[i].a);
                    q.b = min(q.b, x[i].b);
                }
                else
                {
                    if (x[i].a==x[i].b)
                    {
                        ans +=min((abs(x[i].a-q.a)+1)/2,(abs(x[i].a-q.b)+1)/2);
                        q.a = x[i].a;
                        q.b = x[i].a;
                    }
                    else if (q.b < x[i].a)
                    {
                        ans += (x[i].a - q.b + 1) / 2;
                        if ((x[i].a - q.b )%2!=0)
                        {
                            q.a = x[i].a;
                            q.b = x[i].a+1;
                        }
                        else
                        {
                            q.a = x[i].a;
                            q.b = x[i].a;
                        }
                    }
                    else
                    {
                        ans += (q.a - x[i].b + 1) / 2;
                        if ((q.a - x[i].b ) %2!=0)
                        {
                            q.a = x[i].b-1;
                            q.b = x[i].b;
                        }
                        else
                        {
                            q.a = x[i].b;
                            q.b = x[i].b;
                        }
                    }
                }
//                 printf("%d %d** %d\n", q.a, q.b,ans);
            }
        }
        printf("%d\n", ans);
    }
    return 0;
}

 

2012 百度之星初赛题 2012年百度之星初赛题目,仅供参考。有兴趣可以看看 立即下载

相关推荐

Python爬取京东商品数据保姆级教程(附源码及效果图)

本文介绍了一个基于Python的京东商品数据爬取教程,适合入门级开发者使用。文章详细讲解了从安装依赖库(DrissionPage、pandas等)到完成数据爬取的全过程,包括:1. 模拟用户搜索操作;2. 解析商品标题、价格、销量等关键信息;3. 处理复杂数据格式(如转换万级销量);4. 数据存储与Excel导出。教程提供了完整的封装函数,支持自定义搜索关键词和爬取数量,并包含错误处理和多种元素定位方式。最终数据会按时间戳命名导出为Excel文件,方便用于课程作业或毕业设计。

weixin_46449236的博客 1874

2022百度之星程序设计大赛 - 初赛 - 第二场 1001 和

【代码】2022百度之星程序设计大赛 - 初赛 - 第二场 1001 和。

小哈里的博客 3432

博科的SAN交换机基本操作

2、添加用户testuser赋予user权限可以访问1-128VF默认VF为128账号描述"Test user"密码为password123。1、创建zone别名(100是指当前设备Domain ID,1和2是指对应的index号)2,删除新接入设备的ZONE或保持ZONE配置一致。3、将zone添加到当前生效的CFG中。2、将zone添加到当前生效的CFG中。3、将zone添加到当前生效的CFG中。3,将添加的级联端口持续关闭。4、将当前zone生效。4、将当前zone生效。1、查看当前所有用户。

chenjunokok的博客 1837

【2023百度之星初赛】跑步,夏日漫步,糖果促销,第五维度,公园,新材料,星际航行,蛋糕划分

目录题目:跑步思路: 题目:夏日漫步思路:题目:糖果促销思路:题目:第五维度 思路:题目:公园思路:题目:蛋糕划分​编辑思路: 小度每天早上要和小猫一起跑步。小猫的位置数值越小表示越在后面,速度越小表示越慢,它们都向一个方向跑。小猫比较喜欢一起跑,所以当速度更快的小猫遇见速度慢的小猫时,它就会放慢速度,变成一组一起跑。注意,初始位置相同的小猫直接组成一组。请问最终不再有追赶上的情况时,最多一组有多少只小猫? 我们先来捋一下题目哈:不同位置的小猫同时

m0_69478376的博客 2217

ADS 使用调整器动态调参教程(Tuning)

ADS动态调参教程

weixin_42845306的博客 1万+

XDS110 USB Debug Probe连接错误-260:CCS Theia环境下的诊断与修复指南

本文详细解析了CCS Theia环境下XDS110 USB Debug Probe连接错误-260的诊断与修复方法。从硬件连接到驱动状态、固件更新到软件配置,提供了全面的排查指南,帮助开发者快速解决这一常见的调试器通信障碍问题,确保嵌入式开发工作流畅进行。

hope8的博客 282

百度之星Astar2023初赛题解

​前言:2023年8月6日13:50,百度之星赛事授权平台码蹄集服务器遭到攻击,由于比赛所用服务器未与题库分割,导致服务器CPU占用飙升,随后服务器崩溃,届时微信公众号、考试客户端以及码蹄集网站全部瘫痪,比赛延迟到16:00并换题。虽然我自己没打,但是听说16:00还是很卡,比赛刚开始服务器比较卡很正常,不过服务器被攻击结果崩溃了的还是第一次见。

qq_73851238的博客 2138

erdas监督分类(二)

去云 用一张没有云的影像替代有云影像 构建aoi图层 将云和云影编码合并 重编码工作 在监督分类做的差不多以后(纠正无误,无明显错误),就要对监督分类图像进行重编码和颜色调整。 在中选中Recode,对原来分类的地物类别进行重编码,(为彻底修改,记得备份)选中一列,在New Value输入新的编码,依次编码后点击应用apply,即可实现。 这时的图像如果是全黑的或者只有一两类的颜色也没有关系,新的编码覆盖掉了原来的编码,但是颜色并没有改变才会这样。可以点击图像,右击...

weixin_58968530的博客 958

2023 百度之星 题目解析

百度之星2023题解

wangyubo_20040617的博客 6333

3D医学影像分割实战:从数据预处理到模型训练全流程解析

本文详细解析了3D医学影像分割的全流程,从数据预处理到模型训练,重点介绍了nnUNet框架的应用技巧。通过实战案例,帮助开发者掌握如何处理复杂的.nii.gz文件格式、优化数据预处理流程以及高效训练3D分割模型,特别适合医学影像分析领域的从业者参考。

weixin_29098367的博客 222

【26美赛A题】2026美赛数学建模(MCM/ICM)思路解析及代码分享

本文介绍了2026年美赛数学建模A题的解题思路与方法。A题通常属于连续型系统问题,重点在于构建可解释的机理模型,通过将现实机制转化为动态方程进行仿真预测。文章提出了通用建模路线,包括机理抽象、模型假设、动态建模、参数识别、系统仿真和情景预测六个阶段。专栏将提供从机理到方程的系统建模思路、参数标定方法、Python/Matlab实现代码以及高分论文模板。内容适合参加2026美赛A题、偏重物理/工程建模方向的参赛队伍,旨在提升机理建模能力。后续将更新完整题解和源码。

一键难忘的博客 2007

百度之星部分题解(持续更新中)

一些简单的题

2401_84097724的博客 725

52、基于格的具有解密密钥暴露抗性的可撤销(分层)身份基加密方案

本文提出了首个基于格的具有解密密钥暴露抗性(DKER)的可撤销分层身份基加密(RHIBE)方案。通过引入分层密文、分层解密密钥和级别转换密钥等创新工具,克服了格结构与传统密钥重新随机化属性不匹配的难题。该方案不仅支持可扩展的密钥撤销机制,还具备密钥委托功能,为后量子密码学领域的发展提供了新的思路和方法。

efc12345678的博客 123

2022百度之星第一场初赛

2022百度之星第一场初赛题解

艾 3039

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

2022 百度之星程序设计大赛复赛 D.子序列2(动态dp/线段树维护矩阵)

2022 百度之星程序设计大赛复赛 D.子序列2(动态dp/线段树维护矩阵)

小衣同学的博客 1253

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

百度之星签到题*2

百度之星2021初赛签到题

zhao_xin_ran的博客 380

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【题目记录】——2021 年百度之星·程序设计大赛 - 初赛二

文章目录 题目地址2021 年百度之星·程序设计大赛 - 初赛二 题目原地址2021 年百度之星·程序设计大赛 - 初赛二

气派飞鹰的博客 6952

2024百度之星初赛第一场B

将(n-1)个同学(没有比第n个慢的)再次累加即可得到最后答案的公式。打一次招呼,总时间为1-n的最小公倍数lcm,所以i与j一共打招呼。第i个同学需要跟(n-i)个同学打招呼,i同学打招呼的次数一共就是。(i为2到n),推导如图。

m0_73120735的博客 2330

百度之星(题解)

今天是六一节,小度去公园玩,公园一共 N个景点,正巧看到朋友圈度度熊也在这个公园玩,于是他们约定好一块去景点N。 小度当前所在景点编号为T,从一个景点到附近的景点需要消耗的体力是TE,而度度熊所在景点编号为F,移动消耗为FE。 好朋友在一块,赶路都会开心很多,所以如果小度和度度熊一块移动(即在相同位置向相同方向移动),每一步他俩的总消耗将会减少S。

qq_71356343的博客 465

2020年百度之星·程序设计大赛 - 初赛一(前三题)

文章目录Drink【贪心/推导】题目描述测试样例解题思路赛时AC代码赛后优化AC代码总结:GPA【枚举】题目描述测试样例解题思路赛时WA代码赛时AC代码总结:Dec【反向dp+预处理】题目描述测试样例解题思路赛时TLE代码赛后AC代码 Drink【贪心/推导】 传送门:Drink 题目描述 测试样例 Sample Input 2 1 10 3 3 2 10 3 3 2 1 Sample Output 12 5 解题思路   贪心,对于每一种饮料,都可以算出至少补充m毫升最少需要多少瓶,从而知道最少摄入多

Lucas9的博客 2934

2021百度之星初赛3题解(1001~1005) 附1~3场全题解链接

好吧,晋级了,复赛等着爬... 1001-数字游戏 大致思路就是看 “n*ave-min-max” 是否在 n-2个数的和 的范围内,重点是要保证 max>=min,要特判 n==1 和 n==2 的情况 //#pragma GCC optimize(3,"Ofast","inline") #include <bits/stdc++.h> #define ll long long using namespace std; ll t, n, maxn, minn, aven;

米莱虾 2495

2020 年百度之星·程序设计大赛 · 官方题解汇总

1、测试赛 2、初赛一 留个备份,方便以后找 3、初赛二 4、初赛三 5、复赛

小哈里的博客 4082

2020 年百度之星·程序设计大赛部分题解

Drink Problem Description 一共有n个人,我们提供给他们三种饮料——可乐,雪碧,芬达每个人对这三种饮料的喜欢程度有一个顺序,一个人喝到他最喜欢的饮料可以得到 3 点快乐值,第二喜欢的饮料可以得到 2 点快乐值,第三喜欢的饮料可以得到 1 点快乐值。我们一共有nn瓶饮料,其中aa瓶是可乐,bb瓶是雪碧,cc瓶是芬达,每个人恰好分到一瓶饮料。请问适当分配这些饮料,nn个人的快乐值的和最大是多少? Input 第一行一个整数test(1≤test≤100...

wait 4870

百度之星(数学基础题)

接下来T行,每行两个整数 pi​,ki​(1≤pi​≤109,0≤ki​≤109) ,表示第 i 次测试中, pi​ 张糖纸换一颗糖,小度想吃 ki​ 颗糖。促销规则:一颗糖果有一张糖纸,p 张糖纸可以换取一颗糖果。换出来糖果的包装纸当然也能再换糖果。第一行一个整数T(1≤T≤106) ,表示测试数据组数;T 行,每行一个整数表示需要买多少颗糖果。小度想吃 k 颗糖果,他需要买多少颗糖?这天商店糖果促销,可给小度高兴坏了。

qq_71356343的博客 834

百度之星2024初赛第二场 BD202411染色

小度进入了一个迷宫当中,该迷宫为一个 n 个点,m 条边的,在开始之前,你需要将每条边规定一个方向。一开始所有的点都是白色,同时 小度手中有 k 种不包含白色的不同颜色颜料,小度将,小度。现在小度想问你,如何选定边的方向才能使得结束之后,该迷宫生成的不同的迷宫颜色数目最多。,由于答案可能过大,答案对 998244353 取模。对于任意两种迷宫颜色,如果存在一个点的颜色不同,则称该两种迷宫颜色不同。对于任意两种选定边的方向的方案,如果存在任意一条边的方向不同,则称该两种方案不同。

soilovedogs的博客 526
上一篇: HDU 6655 Just Repeat 贪心思想
下一篇: 2019百度之星初赛 第二场 | 部分题解
OneLine_
博客等级 码龄9年 48粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值