03 2020 档案
摘要:资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 数组A中共有n个元素,初始全为0。你可以对数组进行两种操作:1、将数组中的一个元素加1;2、将数组中所有元素乘2。求将数组A从初始状态变为目标状态B所需要的最少操作数。 输入格式 第一行一个正整数n表示数组中元素的个数 第二行n个正整
阅读全文
摘要:思路: 当时比赛的时候思路正确,可是就是超时。 代码: #include<iostream> #include<stdio.h> #include<algorithm> using namespace std; typedef long long ll; const int maxn = 1e6+5
阅读全文
摘要:资源限制 时间限制:2.0s 内存限制:256.0MB 问题描述 研究组正在开发一个计算机程序,这个程序会从一个服务获得历史股票市场价格数据。而这个服务每提供一天的股市数据,都要收取一个固定的费用。这个研究组检查了过去请求的价格数据,发现有着大量的重复,也就浪费了不少的研究经费。所以新的程序需要维护
阅读全文
摘要:资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 北大附中书院有m个同学,他们每次都很民主地决策很多事情。按罗伯特议事规则,需要一个主持人。同学们民主意识强,积极性高,都想做主持人,当然主持人只有一人。为了选出主持人,他们想到了一个办法并认为很民主。方法是: 大家围成一圈,从1到m为
阅读全文
摘要:资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 土豪大学每年都会给学生颁发巨额的特等奖学金,当然,获奖的前提是要足够优秀。这所大学有n名学生,他们中的每个人都会在m门必修课的每门课上获得一个百分制的整数成绩(0-100),到了期末教务长会获得所有学生在所有必修课上的成绩报告,他会从
阅读全文
摘要:思路: 已知:A%9973 = n; gcd(B,9973)=1; 求(A/B)%9973; k = (A/B)%9973 - > A/B - 9973*y = k; -> A = k*B+9973*y; 带入 A%9973 = n中得 k*B%9973 = n; kB - 9973*y = n;
阅读全文
摘要:参考博客: https://blog.csdn.net/u012469987/article/details/39041797 https://blog.csdn.net/qq_22902423/article/details/50569835 代码: #include<iostream> #inc
阅读全文
摘要:思想: 用到了欧拉筛,然后对数组的内存的巧妙处理。 推荐的博客: https://blog.csdn.net/Feynman1999/article/details/79533130?depth_1-utm_source=distribute.pc_relevant.none-task&utm_so
阅读全文
摘要:优先队列: 代码: 过了50% #include <stdio.h> #include <algorithm> #include<iostreami> using namespace std; int ans[1001]; struct { int x,y; }a[1001]; bool cmp(i
阅读全文
摘要:大表: #include<iostream> #include<stdio.h> #include<algorithm> using namespace std; typedef long long ll; int main(){ for(int j=1;j<=50;j++)//打表 { int n
阅读全文
摘要:思想: dp[i][j]代表到达坐标(i,j)这个位置最少需要转换成障碍格子的数目; 代码: #include<iostream> #include<stdio.h> #include<string.h> using namespace std; const int inf = 0x3f3f3f3f
阅读全文
摘要:思想: 巧妙的利用二进制数的特性,时间复杂度o(2^m(n*m)); 代码: #include<iostream> #include<stdio.h> #include<algorithm> using namespace std; int n,m,k,ans; int a[20][20],sum[
阅读全文