05 2024 档案
发表于 2024-05-31 15:34阅读:3评论:0推荐:0
摘要:就是背包01问题 #include<iostream> #include<cstring> /*01背包问题*/ using namespace std; const int maxn = 120; const int maxm = 1e5 + 10; int dp[maxm],a[maxm]; i
阅读全文 »
发表于 2024-05-31 13:38阅读:5评论:0推荐:0
摘要:简单问题: 就只是如何降低时间的问题罢了:本来这种方法以前学过但是没怎么用所以不太灵活、 #include<stdio.h> #define maxn 1000010 int sum[maxn]={0}; void Sum(){ for(int i=1;i<=maxn;i++){ for(int j
阅读全文 »
发表于 2024-05-31 13:30阅读:7评论:0推荐:0
摘要:就这样 #include<cmath> #include<cstdio> #include<iostream> using namespace std; int main(){ int i,k,sum; while(~scanf("%d",&k)){ i=0,sum=0; k=abs(k); //前
阅读全文 »
发表于 2024-05-27 17:17阅读:9评论:0推荐:0
摘要:我的错误: 明知道是大数问题但不是不想写数组或者字符串的结构。 思路 网上查阅后发现可以使用JAVA的大数类型做。 若不使用JAVA则就是整型数组或者字符串的情况。 将a^b结果放在数组当中,实时更新数组,每次用a去乘当前数组,记得加长。 因为上面情况得到的结果是倒序的不方便比较(通过比较来判断正负
阅读全文 »
发表于 2024-05-20 18:38阅读:16评论:0推荐:0
摘要:思路: 要改变的是一个范围的情况,所以正常情况下会超时。 查阅后知道应该用一个叫做树状数组的结构。 查阅和树状数组的后续情况 这个也不错 注意: 我没怎么看懂,可能没太仔细看。 树状数组当中存在的是前后的差,所以每次变动只是在start,end+1变动. 因为一直上去的是lowbit情况,方便后面前
阅读全文 »
发表于 2024-05-10 21:32阅读:7评论:0推荐:0
摘要:原先主要错误: 没有考虑到有关0的相关情况 观看的大佬代码 整理思路 无非就是在相同的指数的情况下,系数相加 因为最后是要从大到小输出来。 注意 要对最后的结果进行四舍五入; PTA的英语题对英语不好的我真心不友好。 #include<map> #include<cmath> #include<io
阅读全文 »
发表于 2024-05-06 18:56阅读:9评论:0推荐:0
摘要:思路 一个感觉是规律问题的数学问题 因为输入的是n所以要的出有关n的关系或者关系 有关排序,所以可以从位次入手,设双胞胎前一个位置在ai,后一个在bi. Sum(bi-ai)=(2+3+4+5+6+...+n+1)=(1+2+3+4+5+6+...+n)+n*1=((n+1) * n)/2 + n;
阅读全文 »
发表于 2024-05-06 18:31阅读:5评论:0推荐:0
摘要:思路 一个数学问题 要知道1为奇数,2^x次方一定为偶数。 偶数=奇数+奇数,而奇数=奇数*奇数,所以x一定要是奇数才可以。 注意 没告诉范围所以要往大的方向考虑 其中1能够被任一整数整除,所以前面加上对1的判断 参考(费马小定理) #include<stdio.h> int main(){ int
阅读全文 »