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

东莞免费建站在线咨询做网站怎么入账

东莞免费建站在线咨询,做网站怎么入账,海口建站模板系统,成都网站建设外包公司个人主页:Guiat 归属专栏:每日一题 文章目录 1. 【5.12】P1068 [NOIP 2009 普及组] 分数线划定2. 【5.13】P5143 攀爬者3. 【5.14】P12366 [蓝桥杯 2022 省 Python B] 数位排序4. 【5.15】P10901 [蓝桥杯 2024 省 C] 封闭图形个数5.【5.16】P12165 [蓝桥…

在这里插入图片描述

个人主页:Guiat
归属专栏:每日一题

在这里插入图片描述

文章目录

  • 1. 【5.12】P1068 [NOIP 2009 普及组] 分数线划定
  • 2. 【5.13】P5143 攀爬者
  • 3. 【5.14】P12366 [蓝桥杯 2022 省 Python B] 数位排序
  • 4. 【5.15】P10901 [蓝桥杯 2024 省 C] 封闭图形个数
  • 5.【5.16】P12165 [蓝桥杯 2025 省 C/Java A] 最短距离
  • 6. 【5.17】P12186 [蓝桥杯 2025 省 Python A/研究生组] 最大数字
  • 7. 【5.18】P1012 [NOIP 1998 提高组] 拼数

正文

1. 【5.12】P1068 [NOIP 2009 普及组] 分数线划定

题目链接:https://www.luogu.com.cn/problem/P1068

【分析】
模拟排序题,复杂一点的是处理排序后的选手,按照要求输出答案。

【AC_Code】

#include <iostream>
#include <algorithm>
#include <cmath>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;struct str { int n, s; } p[5010]; int cnt;bool cmp(str x, str y)
{if (x.s == y.s) return x.n < y.n;return x.s > y.s;
}void solve()
{int n, m; cin >> n >> m;for (int i = 0; i < n; i ++) { cin >> p[i].n >> p[i].s; }sort(p, p + n, cmp);int S = floor(m * 1.5);int score_line = p[S-1].s;  // 分数线是第S个人的分数for (int i = 0; i < n; i ++){if (p[i].s >= score_line) cnt ++; else break;}cout << score_line << ' ' << cnt << '\n';for (int i = 0; i < cnt; i ++) cout << p[i].n << ' ' << p[i].s << '\n';
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

2. 【5.13】P5143 攀爬者

题目链接:https://www.luogu.com.cn/problem/P5143

【分析】

简单模拟排序题,这类题往往需要写一个结构体数组和一个比较函数,剩下的只需按题意模拟即可。

【AC_Code】

#include <iostream>
#include <algorithm>
#include <cmath>
#include <iomanip>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(x) setprecision(x) << fixedusing namespace std;struct str{ int x, y, z; } s[50010]; double ans;bool cmp(str a, str b) { return a.z < b.z; }void solve()
{int n; cin >> n;for (int i = 0; i < n; i ++) cin >> s[i].x >> s[i].y >> s[i].z;sort(s, s + n, cmp);for (int i = 0; i < n - 1; i ++){ans += sqrt(pow(s[i].x - s[i + 1].x, 2) + pow(s[i].y - s[i + 1].y, 2) + pow(s[i].z - s[i + 1].z, 2));}cout << fix(3) << ans << '\n';
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

3. 【5.14】P12366 [蓝桥杯 2022 省 Python B] 数位排序

题目链接:https://www.luogu.com.cn/problem/P12366

【分析】
无需用到结构体。

【AC_Code】

#include <iostream>
#include <algorithm>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;const int N = 1e6 + 10; int a[N], ans;int getSum(int num)
{int sum = 0;while (num) { sum += num % 10; num /= 10; }return sum;
}bool cmp(int a, int b)
{if (getSum(a) < getSum(b)) return true;if (getSum(a) == getSum(b) && a < b) return true;return false;
}void solve()
{int n, m; cin >> n >> m;for (int i = 1; i <= n; i ++) { a[i] = i; }sort(a + 1, a + 1 + n, cmp);cout << a[m] << '\n';
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

4. 【5.15】P10901 [蓝桥杯 2024 省 C] 封闭图形个数

题目链接:https://www.luogu.com.cn/problem/P10901

【分析】
构建一个封闭图形个数数组,发现下标刚好是要处理的单个数字,后面就很好写了。

【AC_Code】

#include <iostream>
#include <algorithm>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;const int N = 2e5 + 10; int a[N], num[] = { 1, 0, 0, 0, 1, 0, 1, 0, 2, 1 };int cnt(int NUM)
{int CNT = 0;while (NUM) { CNT += num[NUM % 10]; NUM /= 10; }return CNT;
}bool cmp(int a, int b)
{if (cnt(a) < cnt(b)) return true;if (cnt(a) == cnt(b) && a < b) return true;return false;
}void solve()
{int n; cin >> n; for (int i = 0; i < n; i ++) cin >> a[i];sort(a, a + n, cmp);for (int i = 0; i < n; i ++) cout << a[i] << " \n"[i == n - 1];
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

5.【5.16】P12165 [蓝桥杯 2025 省 C/Java A] 最短距离

题目链接:https://www.luogu.com.cn/problem/P12165

【分析】
考察最朴素的贪心,可以用数学归纳法证明,比较高大上,这里不再赘述,可自行AI,最简单实用的可以通过举反例证明其合理性。

【AC_Code】

#include <iostream>
#include <algorithm>
#include <cmath>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;
using ll = long long;const int N = 5e4 + 10; int a[N], b[N]; ll ans;void solve()
{int n; cin >> n;for (int i = 0; i < n; i ++) cin >> a[i];for (int i = 0; i < n; i ++) cin >> b[i];sort(a, a + n); sort(b, b + n);for (int i = 0; i < n; i ++) ans += abs(a[i] - b[i]);cout << ans << '\n';
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

6. 【5.17】P12186 [蓝桥杯 2025 省 Python A/研究生组] 最大数字

题目链接:https://www.luogu.com.cn/problem/P12186

【分析】
这题还没理解,参考题解代码。

【AC_Code】

#include <bits/stdc++.h>
using namespace std;
using ull = int;// 表示大整数的结构体,使用向量存储每一位数字
struct BigInt {vector<ull> digits;
};// 初始化大整数为 0
void initBigInt(BigInt& num) {num.digits = {0};
}// 将大整数乘以 2
void mult2(BigInt& num) {ull carry = 0;for (int i = 0; i < num.digits.size(); ++i) {ull product = num.digits[i] * 2 + carry;num.digits[i] = product % 10;carry = product / 10;}if (carry != 0) {num.digits.push_back(carry);}
}// 将大整数加 1
void add1(BigInt& num) {ull carry = 1;for (int i = 0; i < num.digits.size() && carry > 0; ++i) {ull sum = num.digits[i] + carry;num.digits[i] = sum % 10;carry = sum / 10;}if (carry > 0) {num.digits.push_back(carry);}
}// 输出大整数
void output(const BigInt& num) {int i = num.digits.size() - 1;// 跳过前导零while (i >= 0 && num.digits[i] == 0) {--i;}// 如果所有位都是零,输出 0if (i < 0) {cout << "0";return;}// 从高位到低位输出while (i >= 0) {cout << num.digits[i];--i;}
}// 将数字向量转换为二进制字符串
string toBinaryString(const vector<ull>& nums) {string bs;for (ull num : nums) {if (num == 0) {bs += "0";} else {string temp;while (num > 0) {temp = (num % 2 == 0 ? "0" : "1") + temp;num /= 2;}bs += temp;}}return bs;
}// 将二进制字符串转换为大整数
BigInt trans(const vector<ull>& nums) {string bs = toBinaryString(nums);BigInt res;initBigInt(res);for (char bit : bs) {mult2(res);if (bit == '1') {add1(res);}}return res;
}int main() {ull x;cin >> x;vector<ull> nums(x);for (int i = 0; i < x; i++) {nums[i] = i + 1;}// 自定义排序sort(nums.begin(), nums.end(), [](ull a, ull b) {ull bitA = log2(a) + 1;ull bitB = log2(b) + 1;ull tempA = (a << bitB) + b;ull tempB = (b << bitA) + a;return tempA > tempB;});BigInt bs = trans(nums);output(bs);return 0;
}

7. 【5.18】P1012 [NOIP 1998 提高组] 拼数

题目链接:https://www.luogu.com.cn/problem/P1012

【分析】
这题凭感觉写的,发现自己还不会证明QAQ。

【AC_Code】

#include <iostream>
#include <algorithm>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;string s[25];bool cmp(string a, string b) { return a + b > b + a; }void solve()
{int n; cin >> n;for (int i = 0; i < n; i ++) cin >> s[i];sort(s, s + n, cmp);for (int i = 0; i < n; i ++) cout << s[i]; cout << '\n'; 
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

结语
感谢您的阅读!期待您的一键三连!欢迎指正!

在这里插入图片描述

http://www.dtcms.com/a/538746.html

相关文章:

  • 网站模板开发主要作用织梦网站去除技术支持
  • 电影里的做视频在线观看网站快速开发软件
  • 初二怎么做网站接广告的网站
  • 广西建设学院官方网站网上做任务网站有哪些
  • 充实网站 廉政建设 板块公司网站推广现状
  • 创建网站花费网络公司名
  • 百度网址大全官方网站巩义企业网站托管服务商
  • 什么网站可以做名片做网站如何上传apk
  • wapcms建站系统西安公司网站建设服务商
  • 外贸网站建设排名上海摄影网站建设
  • 网站推广策划的策略锦州做网站多少钱
  • 福建网站建设公司排名响应式网站设计建设制作
  • 阜新网站seo网站开发需要学习
  • 公司域名更改 网站怎么做提示wordpress 最好的插件
  • 网站页面设计具体步骤佛山新网站建设效果
  • 广州网站建设(信科分公司)百度网盟网站有哪些
  • app对接网站登录要怎么做视频变成网站怎么做的
  • 浙江省建设监理协会管网站江苏国智建设有限公司网站
  • 空滤网站怎么做企业网络营销方案设计
  • 自动化 东莞网站建设梁山网站建设哪家便宜
  • 化工类网站建设推广廊坊关键词seo排名网站
  • 做网站一般需要哪些文件夹?网站备案简单吗
  • 房地产网站解决方案华企在线网站建设
  • 菏泽住房和城乡建设部网站义乌网页制作
  • 罗城建设局网站绩溪网站建设
  • 个人网站更换域名工装公司排行榜
  • 网站建设公司加盟无为县城乡建设局网站
  • 网站如何建设手机版网站下载音乐
  • 游戏网站建设一条龙可以自己做网站的软件下载
  • 俄文视频网站开发搭建网站平台如何做分录