当前位置: 首页 > news >正文

可以做公众号的网站登封网络推广公司

可以做公众号的网站,登封网络推广公司,网站客服管理系统,备案网站可以做接码平台么KJY0047 - J1阶段测试题解 题目1:SYAP0001. 闯关 解题思路: 暴力思路:每次碰到奇数都使用一次 f o r for for 循环将后续的数值 1 1 1, 时间复杂度 O ( n 2 ) O(n^2) O(n2) 优化思路:可以用一个计数器 c n t cnt cnt 来存…

KJY0047 - J1阶段测试题解

题目1:SYAP0001. 闯关

解题思路:

暴力思路:每次碰到奇数都使用一次 f o r for for 循环将后续的数值 + 1 +1 +1, 时间复杂度 O ( n 2 ) O(n^2) O(n2)
优化思路:可以用一个计数器 c n t cnt cnt 来存储后续数值需要增加多大,如果碰到奇数则让计数器 + 1 +1 +1,每次新读入一个数 x x x,都让 x + c n t x + cnt x+cnt 得到的值才是当前关卡真正的恐怖值,不要忘记要开 l o n g l o n g longlong longlong

代码实现

#include<bits/stdc++.h>
using namespace std;
#define int long long 
signed main(){int cnt = 0; // 计数器int ans = 0; // 恐怖值总和int n, m;cin >> n >> m;for(int i = 1; i <= n; i ++){int x;cin >> x;x += cnt; // 真正的关卡恐怖值if(x % 2){ans += x;cnt ++;} else{ans += x;}if(ans > m){ // 闯关失败cout << "No" << endl;cout << i << endl;return 0; }	}cout << "Yes" << endl;cout << ans << endl;return 0;
}
题目2:SYAP0023. 分割

解题思路

本题考的知识点是 map 的使用,由于我们每个字段中的数值都要求唯一,那么我们从左到右贪心的遍历数组,如果当前的 x x x 在之前出现过,则需要重新分段,否则我们就尽可能让没出现的过的数放在当前段中。

代码实现

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin >> n;map<int, int> mp; // 用来存储当前段中数值出现次数int sum = 0;for(int i = 1; i <= n; i ++){int x;cin >> x;if(mp[x] == 1){ // 如果出现过,则需要重新分段mp.clear(); // 清空 mapsum ++; // 分段次数增加}mp[x] ++;}cout << sum << endl;return 0;
}
题目3:P1247. brz的雪糕

解题思路

本道题是 前缀和 专题中做过的题,为了测试同学们是否做过的题目真正的掌握了。我们可以刚开始预处理一个前缀和数组 s s s ,如果 a [ i ] = = a [ i − 1 ] a[i] == a[i - 1] a[i]==a[i1] s [ i ] = s [ i − 1 ] s[i] = s[i - 1] s[i]=s[i1], 否则如果 a [ i ] ! = a [ i − 1 ] a[i] != a[i - 1] a[i]!=a[i1] s [ i ] = s [ i − 1 ] + 1 s[i] = s[i - 1] + 1 s[i]=s[i1]+1,那么每次询问我们可以直接返回 s [ r ] − s [ l ] + 1 s[r] - s[l] + 1 s[r]s[l]+1 即可。

代码实现

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[N]; 
int s[N];
int main(){int n, k, q;cin >> n >> k >> q;for(int i = 1; i <= n; i ++){cin >> a[i]; s[i] = s[i - 1] + (a[i] != a[i - 1]);}while(q --){int l, r;cin >> l >> r;if(s[r] - s[l] + 1 >= k) cout << "Yes" << endl;else cout << "No" << endl; } return 0;
}
题目4:SYAP0030. 销毁(easy)

解题思路

因为我们要求 最多能剩下 多少 互不相同 的卡牌,所以我们可以先统计出有多少张卡牌是没意义的,易知 所有卡牌的总数 − 有多少种不同的卡牌 所有卡牌的总数 - 有多少种不同的卡牌 所有卡牌的总数有多少种不同的卡牌 得到的值即为没有意义的卡牌数量。例如只有 3 种卡牌 2 3 5,他们的数量分别是 1 6 8,那么没有意义的卡牌数量即为 (1 - 1) + (6 - 1) + (8 - 1) = 12 , 这 12 张卡牌是可以随意销毁的,因为它 不会影响我们的最终答案 。又由于,我们每次只会销毁 2 张卡牌,所以如果我们 无意义的卡牌数量是奇数,则意味这有意义的卡牌要损失 1 张,否则有意义的卡牌无需损失

代码实现

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int sum[N]; 
int main(){int n;cin >> n;for(int i = 1; i <= n; i ++){int x;cin >> x;sum[x] ++; // 统计卡牌数量} int ans = 0; // 无意义的卡牌数量int res = 0; // 统计卡牌的种类for(int i = 1; i <= 1e6; i ++){if(sum[i]){ans += sum[i] - 1;res ++;}}ans %= 2;cout << res - ans << endl; // 如果是奇数则会 -1return 0;
}
题目5:SYAP0031. 销毁(hard)

解题思路
思路和上题差不多,只不过需要存储最后保留的字典序最小的方案,使用一个 v e c t o r vector vector 存储即可

代码实现

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6 + 10;
int sum[N];
signed main(){int n, k;cin >> n >> k;vector<int> v;for(int i = 1; i <= n; i ++){int x;cin >> x;sum[x] ++ ;} int ans = 0;for(int i = 1; i <= 1e6; i ++){if(sum[i]){ans += sum[i] - 1;v.push_back(i); // 有多少种不同的数值放 vector 中}}ans %= k;if(ans) ans = k - ans; // 需要销毁多少有意义的卡牌if(ans > v.size()){ // 如果销毁数量 > 不同数值个数则无解cout << "-1" << endl;return 0;}sort(v.begin(), v.end()); // 排序按字典序从小到大cout << v.size() - ans << endl;for(int i = 0; i < v.size() - ans; i ++){cout << v[i] << ' ';}cout << endl;
}
http://www.hkea.cn/news/862525/

相关文章:

  • 深圳招聘网官方网站网站搜索引擎优化
  • 怎么知道一个网站是谁做的中国最大的企业培训公司
  • m2c是什么意思南昌百度seo
  • 专业做羽绒服的服装网站域名注册网
  • 公司网站建设需要显示什么软件世界球队最新排名
  • 做微信平台图片网站有没有免费的广告平台
  • 渭南网站建设风尚网络站长工具seo词语排名
  • 广告传媒网站模板免费网站推广方式
  • 如何用api方式做网站域名批量查询工具
  • wordpress 网易云跟帖优化合作平台
  • 建设党建网站联盟青岛网站推广公司
  • 石湾网站建设湘潭关键词优化服务
  • 淘宝优惠券怎么做网站网络服务提供商
  • 哪里有网站建设电话查排名官网
  • 做网站需要准备的工具网络营销方案模板
  • 科技未来网站建设百度推广开户公司
  • 十度网站建设保定网站推广公司
  • php可以做视频网站有哪些软文推广渠道主要有
  • 成都网站建设桔子科技淘宝付费推广有几种方式
  • 福田的网站建设公司网络营销成功案例ppt免费
  • 网站建设英文专业术语百度推广网址
  • 做网站之前需要准备什么企业网络营销策划案
  • dreamweaver动态网站开发与设计教程内容怎么在百度上面打广告
  • 济南网站搜索优化深圳网络推广招聘
  • 网站 色彩武汉it培训机构排名前十
  • 怎么做资源网站网络培训中心
  • 服装品牌网站建设营销网站建设选择原则
  • 乌鲁木齐新市网站建设有哪些网络营销公司
  • 网站的后台怎么做企业网络规划设计方案
  • 做网站文字字号大小企业网站设计要求