3443:【例78.1】忽明忽暗
3444:【例78.2】大整数加法
/*
1.6编程基础之一维数组 10大整数加法(AC)-2022.08.11 运算符重载
http://noi.openjudge.cn/ch0106/10/
*/
#include <algorithm>
#include <iostream>
#include <cstring>
#include <sstream>
#include <cstdlib>
#include <string>
#include <cstdio>
#include <cctype>
#include <vector>
#include <ctime>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
using namespace std;
const int maxn=201;
struct bignumber
{
int len,s[maxn];
bignumber(){memset(s,0,sizeof(s));len=1;}
bignumber operator = (const char* num)
{
len=strlen(num);
for(int i=0;i<len;i++)s[i]=num[len-i-1]-'0';
return *this;
}
bignumber operator = (const int num)
{
char a[maxn];
sprintf(a,"%d",num);
*this=a;
return *this;
}
bignumber (const int num){*this=num;}
bignumber (const char* num){*this=num;}
bignumber operator+(const bignumber& a)
{
bignumber c;
c.len=max(len,a.len)+1;
for(int i=0,x=0;i<c.len;i++)
{
c.s[i]=s[i]+a.s[i]+x;
x=c.s[i]/10;
c.s[i]=c.s[i]%10;
}
while(c.s[c.len-1]==0&&c.len>1)c.len--;
return c;
}
bool operator < (const bignumber& x)const
{
if(len!=x.len)return len<x.len;
for(int i=len-1;i>=0;i--)if(s[i]!=x.s[i])return s[i]<x.s[i];
return false;
}
};
ostream& operator<<(ostream& out,const bignumber &x)
{
for(int i=x.len-1;i>=0;i--)cout<<x.s[i];
return out;
}
istream& operator>>(istream& in,bignumber &x)
{
char num[maxn];
in>>num;
x=num;
return in;
}
bignumber a,b;
int main()
{
ios::sync_with_stdio(false);
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
/*
1168:大整数加法
http://ybt.ssoier.cn:8088/problem_show.php?pid=1168
P1601 A+B Problem(高精)
https://www.luogu.com.cn/problem/P1601
1.6编程基础之一维数组 10:大整数加法
http://noi.openjudge.cn/ch0106/10/
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <bits/stdc++.h>
using namespace std;
int main( void )
{
//char a1[300],b1[300];
string a1,b1;
int a[300],b[300],c[300],lena,lenb,lenc,i,x;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
//输入加数与被加数
//gets(a1);
//gets(b1);
cin>>a1;
cin>>b1;
lena=a1.length();
lenb=b1.length();
//将输入字符串倒置
//加数放入a数组
for (i=0;i<=lena-1;i++) a[lena-i]=a1[i]-48;
/*
//加数放入a数组
for (i=0;i<=lena-1;i++) a[lena-i]=a1[i]-'0';
*/
//加数放入b数组
for (i=0;i<=lenb-1;i++) b[lenb-i]=b1[i]-48;
lenc =1;
x=0;
while ( lenc <=lena || lenc <=lenb )
{
//两数相加
c[lenc]=a[lenc]+b[lenc]+x;
x=c[lenc]/10;
c[lenc]%=10;
lenc++;
}
c[lenc]=x;
//去掉多余的0
while(c[lenc]==0 && lenc>1)
{
lenc--;
}
/*
//处理最高进位
if (c[lenc]==0)
lenc--;
*/
//输出结果
for (i=lenc;i>=1;i--)
cout<<c[i];
cout<<endl;
return 0;
}
3445:【例78.3】回文数(Noip1999)
3446:练78.1 高精度乘法
3447:练78.2 大整数减法
/*
1.6编程基础之一维数组 11 大整数减法 方法一
http://noi.openjudge.cn/ch0106/11/
1169:大整数减法
http://ybt.ssoier.cn:8088/problem_show.php?pid=1169
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
string a1,b1;
//char a1[300],b1[300];
int a[300],b[300],c[300],lena,lenb,lenc,i,x;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
cin>>a1>>b1;
//gets(a1);
//gets(b1); //输入加数与被加数
lena=a1.size();
lenb=b1.size();
for (i=0;i<=lena-1;i++) a[lena-i]=a1[i]-'0'; //加数放入a数组
for (i=0;i<=lenb-1;i++) b[lenb-i]=b1[i]-48; //加数放入b数组
i=1;
while (i<=lena||i<=lenb)
{
if (a[i]<b[i])
{
a[i]+=10; //不够减,那么向高位借1当10
a[i+1]--;
}
c[i]=a[i]-b[i]; //对应位相减
i++;
}
lenc=i;
while ((c[lenc]==0)&&(lenc>1)) lenc--; //最高位的0不输出
for (i=lenc;i>=1;i--) cout<<c[i]; //输出结果
cout<<endl;
return 0;
}
1057.(课程ZF)求和 为 C
#include<iostream>
using namespace std;
int k[300005];
int main(){
int n,m,ans=0,d=0;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>k[i];
}
int l=1,r=1;
ans=k[1];
while(r<=n&&l<=n){
while(ans>=m){
if(ans==m)d++;
ans-=k[l++];
}
ans+=k[++r];
}
cout<<d;
return 0;
}
1058.(课程ZF)最大值
#include<bits/stdc++.h>
using namespace std;
set<int> s;
map<int,int>e;
int ans=0,sum=0;
int k[300005];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>k[i];
}
for(int i=1;i<=m;i++){
if(++e[k[i]]==1){
s.insert(k[i]);
}
}
cout<<*--s.end()<<" ";
for(int i=m+1;i<=n;i++){
if(++e[k[i]]==1)s.insert(k[i]);
if(--e[k[i-m]]==0)s.erase(k[i-m]);
cout<<*--s.end()<<" ";
}
return 0;
}
2512.期末考试第1套-选择题4
2513.期末考试第1套-选择题5
2514.期末考试第1套-判断题1
1、Go C画图 视频集与习题集
2、《小学生C++趣味编程》第1单元--第7单元
3、《小学生C++趣味编程》视频 第1单元--第8单元
4、【信息学奥赛一本通-编程启蒙】部分视频集(2023.10.12)
5、从零开始学习C++编程(1-36集)
6、C++信息学轻松入门系列(1-81集)
7、《啊哈,C语言》【代码】【习题答案】课后习题练习记录
8、信息学奥赛一本通-编程启蒙 第1-17集
9、C++版-----信息学奥赛一本通-----编程启蒙(1-19)
10、C++入门课(1-61)《信息学奥赛一本通 编程启蒙 C++版》
11、【信息学奥赛一本通-编程启蒙】部分视频集(2023.10.12)
12、《信息学奥赛一本通 编程启蒙C++版》第1课 -- 第86课
13、《信息学奥赛一本通编程启蒙(C++版)》知乎
14、信息学奥赛一本通-编程启蒙 解题目录
15、C++入门书太多了,有的还配有视频
比如:
(1)、《小学生C++趣味编程》第2版
(2)、青少年C++创意编程趣味课堂(微课版)-2019.11
(3)、小学生C++创意编程 视频教学版(2020.06)
(4)、中小学C++编程项目学习创意课堂(微课版)-2022.03
(5)、思维导图学C++趣味编程(上下全彩印刷)-2022.09
有哪些信息学奥赛相关的比赛和考试
中小学信息学相关比赛汇总(C++类)
信息学奥赛学习、训练、测试的顺序,思路及方法
信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学
信息学奥赛训练体系(2023.02.21)
CSP-J2 CSP-S2 复赛 第2轮 比赛技巧-做题策略与时间分配、容易犯错误汇总 NOI Linux2.0文件操作等
CSP-J2 CSP-S2 复赛 第2轮 比赛技巧-做题策略与时间分配、容易犯错误汇总 NOI Linux2.0文件操作等_noip linux 与 windows 注意问题-CSDN博客
NOI Linux 2.0的简单用法、CSP-J2、CSP-S2复赛注意事项等
NOI Linux 2.0的简单用法、CSP-J2、CSP-S2复赛注意事项等_csp复赛windows+noilinux2.0-CSDN博客
创新、创新思维书籍(2023.10。10)
调试与对拍
信奥中的“骗”分神技 ---“打表”
【NOI2022】PV「什么是信息学精神?」
学习信奥(CSP-J CSP-S NOIP等),以赛带练 有哪些比赛可以参加
信息学竞赛 省选题单 整理(2024.01.03)
NOI数学 学习 相关书籍及视频等资料(不包括CTS内容)
NOI数学 学习 相关书籍及视频等资料(不包括CTS内容)-CSDN博客