洛谷专题训练 ——【算法1-1】模拟与高精度

这篇博客介绍了洛谷【算法1-1】模拟与高精度题单,包括ACM-ICPC在线模板和一些典型题目。作者分享了如何将实际问题建模为数学问题以方便计算机解决,并提到模拟题目的概念。文中提到了几道具体的题目,如乒乓球、扫雷游戏和高精度计算,分享了解题心得和代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

洛谷题单【算法1-1】模拟与高精度

ACM-ICPC在线模板

题单链接:
【算法1-1】模拟与高精度

下面的这一坨都是洛谷题单上的东东

题单简介

恭喜大家完成了第一部分语言入门,相信大家已经可以使用 C++ 写出一些简单程序了。

各位读者有听说过“建模”一词吗?所谓“建模”,就是把事物进行抽象,根据实际问题来建立对应的数学模型。“抽象”并不意味着晦涩难懂;相反,它提供了大量的便利。计算机很难直接去解决实际问题,但是如果把实际问题建模成数学问题,就会大大地方便计算机来“理解”和“解决”。

举个生活中常见的例子:我们拿到了某次数学考试的成绩单,现在需要知道谁考得最好。当然不能把成绩单对着电脑晃一晃,然后问“谁考得最好?”。需要通过一种途径让计算机来理解这个问题。这个问题可以建模成:“给定数组
score[],问数组内元素的最大值”。这样建模后,就能很方便的写程序解决问题了。对于这个问题,采用之前讨论过的“擂台法”,就可以给出答案。

如何把实际问题建模成数学问题,主要依靠我们的经验和直觉、当然还有你灵动的思维;而算法与数据结构,正是解决数学问题的两把利剑。从这一章开始会介绍一些程序设计竞赛中的一些常见套路算法,而下一部分会介绍基础的数据结构。如果已经认真学习完了第一部分,相信这一部分也不在话下。

这一章是语言部分的延伸,会介绍一些竞赛中会出现的“模拟题目”——这里的“模拟”不是指模拟某场比赛的模拟题,而是指让程序完整的按照题目叙述的方式执行运行得到最终答案。同时也会介绍可以计算很大整数的高精度运算方法。这一章对思维与算法设计的要求不高,但是会考验编程的基本功是否扎实。

在这里插入图片描述

F o r   W o r d For \ Word For Word

碎碎念
洛谷的新出两个月 的题单,正好从基础刷起,我还是太菜了,今天周三,周日之前刷完这一题单,一共16道题,应该全都是水题,正好练一下手速。模拟和高精,python大法好。但是C++的高精还是需要练一下,毕竟有时候python的熟练度不够,有的程序不好写。这周就差不多了,然后牛客有比赛就打一下,codeforce都太晚了,半夜刷题不要命辣,还有高数和大物的作业要写,英语的听力也要练,我太难了,好了,就这样。

P1042 乒乓球(普及-)

P1042 乒乓球
在这里插入图片描述
水完啦,一分钟写一下题解。
水题一号,字符串处理,只需要记一下数就好,但是别忘了循环完了再写一个printf因为不是正好结束比赛,还有新开的几把,有没有输出的比分。

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
#include<math.h>
#include<vector>
#define ls (p<<1)
#define rs (p<<1|1)
#define mid (l+r)/2
#define over(i,s,t) for(register long long i=s;i<=t;++i)
#define lver(i,t,s) for(register long long i=t;i>=s;--i)
//#define int __int128
using namespace std;
typedef long long ll;//全用ll可能会MLE或者直接WA,试着改成int看会不会A
const ll N=750007;
const ll INF=1e10+9;
const ll mod=2147483647;
const double EPS=1e-10;//-10次方约等于趋近为0
const double Pi=3.1415926535897;
ll n,m,a[N];
char ch;
char s[N];
ll ansa,ansb,tot;
int main()
{
   
    while(scanf("%c",&ch)&&ch!='E')
    {
   
        if(ch=='W')ansa++,s[tot++]=ch;
        if(ch=='L')ansb++,s[tot++]=ch;
        if((ansa>=11||ansb>=11)&&abs(ansa-ansb)>=2)
        {
   
            printf("%lld:%lld\n",ansa,ansb);
            ansa=0;
            ansb=0;
        }
    }
    printf("%lld:%lld\n\n",ansa,ansb);
    ansa=0,ansb=0;
    over(i,0,tot-1)
    {
   
        if(s[i]=='W')ansa++;
        if(s[i]=='L')ansb++;
        if((ansa>=21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

繁凡さん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值