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

本地环境建设网站网站制作的评价

本地环境建设网站,网站制作的评价,科技感十足的网站,项目方案计划书文章目录 1. ASC2. 空间3. 卡片4. 相乘5. 路径6.时间显示7.最少砝码8. 杨辉三角形9. 左孩子右兄弟 第12届蓝桥杯省赛#xff0c;C/C C组真题#xff0c;第10题不是很清楚#xff0c;题解不敢乱放#x1f601;#x1f601;#x1f601; 1. ASC 额。。。。 #include i… 文章目录 1. ASC2. 空间3. 卡片4. 相乘5. 路径6.时间显示7.最少砝码8. 杨辉三角形9. 左孩子右兄弟 第12届蓝桥杯省赛C/C C组真题第10题不是很清楚题解不敢乱放 1. ASC 额。。。。 #include iostream using namespace std; int main() {printf(%d\n,L);return 0; }2. 空间 甲骨文一切的开始好吧。 – 一个字节等于8个比特位1B 8bit;1KB 1024B1MB 1024KB1GB 1024MB1 TB 1024GB…打住吧够用了。 在这道题中告诉我们256MB我们知道32位在C/C中一个int是正好4个字节也就是32个bit。 所以直接256 * 1024 * 1024 / 4就是答案。 当然也可以全部换算成bit位来算256 * 1024 * 1024 * 8 / 32但要注意开long long。 #include iostream using namespace std;int main() {//1个字节 8个bit位//1B 8个bit。//1KB 1024B。//1MB 1024KB//1GB 1024MB;// int 4个字节, 32位printf(%d\n,256 * 1024 * 1024 / 4);//printf(%lld\n,(long long)256 * 1024 * 1024 * 8 / 32);return 0; }3. 卡片 题目要求从给定的0~9 共2021张卡片然后问我们最多能拼到哪里 比如例子中1~9各有三张。 1 ~ 10 已经浪费了两个1 11还需要两个1所以拼不成答案就是10. 填空题不卡时间也不用在意时间复杂度了只要你程序没写死循环你可以永远相信computer的速度暴力就好了。 #include iostream using namespace std;int h[10];int main() {for (int i 0; i 9; i)h[i] 2021;for (int i 1; true; i){int t i;while (t){int dig t % 10;if (!h[dig]) //卡片用完了 h[dig] 0{printf(%d\n, i - 1); //注意是返回前一个构造好的不是当前的return 0;}h[dig]--; //减去这一位的次数。t / 10;}}return 0; }4. 相乘 直接对题目进行模拟看到这么大的数我的建议是不管3721直接转long long #include iostream using namespace std;typedef long long LL;int main() {for (int i 1; i 1000000007; i){if ((LL)i * 2021 % 1000000007 999999999){printf(%lld\n, i);break;}} return 0; }5. 路径 求1 ~ 2021直接的最短路然后边的话如果两点之间的绝对值小于21的话就是他俩的最小公倍数如果大于21的话就没有边。 创图求最短路 填空题代码有点搓海涵。 最小公倍数 a * b / 最大公约数。 这一道题全是模板。 #include bits/stdc.h using namespace std;const int N 1e6 10, INF 0x3f3f3f3f;typedef pairint, int PII;int h[N], e[N], w[N], ne[N], idx; int dist[2100]; bool st[2100];int gcd(int a, int b); int lcm(int a, int b);void Add(int a, int b, int c) {e[idx] b, w[idx] c, ne[idx] h[a], h[a] idx; }void Dijkstra() {memset(dist, 0x3f, sizeof dist);dist[1] 0;priority_queuePII, vectorPII, greaterPII heap;heap.push({ 0, 1 });while (heap.size()){auto t heap.top();heap.pop();int v t.second;if (st[v]) continue;st[v] true;for (int i h[v]; i ! -1; i ne[i]){int j e[i];if (dist[j] dist[v] w[i]){dist[j] dist[v] w[i];heap.push({ dist[j], j });}}} }int main() {//创建图memset(h, -1, sizeof h);for (int i 1; i 2021; i){for (int j i 1; j 2021; j){if (abs(i - j) 21){int t lcm(i, j);Add(i, j, t);}}}//Dijkstra();if (dist[2021] INF)printf(找不到\n);elseprintf(%d\n, dist[2021]);return 0; }int gcd(int a, int b) {return b ? gcd(b, a % b) : a; } int lcm(int a, int b) {return a * b / gcd(a, b); }6.时间显示 题目要求 给我们一个毫秒数因为不用管年份和毫秒所以我们只需要计算出多余的东西就好了。 基础的时间换算知识就能解决这题 1秒 1000毫秒1分钟 60秒1 小时 60分钟1 天 24小时。 要注意输出格式小于10的数前面需要加0。 #include bits/stdc.h using namespace std;typedef long long LL;int main() {LL sum;scanf(%lld,sum);sum / 1000; //int h sum % (60*60*24) / (60*60);int t sum % (60*60) / 60;int s sum % 60;if (h 10)printf(0%d:, h);elseprintf(%d:,h);if (t 10)printf(0%d:, t);elseprintf(%d:,t);if (s 10)printf(0%d, s);elseprintf(%d,s);return 0; }7.最少砝码 题目要求 输入一个整数n要求我们从1~n之内选出最少的数像一个天平那样表示其中的所有数。 思路 水个题解把3进制什么鬼用三进制能表示的数只要 所给定的范围那么其的幂就是最少数的个数。 不行看看别人的题解Acwing和蓝桥杯官网都有题解。 传送门~~~~~~~ #include bits/stdc.h using namespace std;typedef long long LL;int main() {LL x,sum 0;int res 0;scanf(%lld, x);while (sum x){sum pow(3, res);}printf(%d\n, res);return 0; }8. 杨辉三角形 题目要求 给我们一个数然后求其在杨辉三角中的第几位。 思路 暴力枚举 杨辉三角都会构造我们预处理出来前1000行的杨辉三角最多1000行多了会爆。 然后一一枚举就好了。可以过40%的测试用例 #include bits/stdc.husing namespace std;const int N 1e3 10;int n 1000; int a[N][N];int main() {a[1][1] 1;for (int i 2; i n; i ) for (int j 1; j i; j )a[i][j] a[i - 1][j] a[i - 1][j - 1];int x;scanf(%d, x);int cnt 0;for (int i 1; i n; i ) for (int j 1; j i; j ){cnt ;if (a[i][j] x) {printf(%d\n,cnt);return 0;}} return 0; }二分 找规律 观察下图我们可以发现杨辉三角其实是一个对称的所以我们只对其进行一半的操作就好了。 我们就可以对其进行二分的操作了很妙。 这个是视频题解y总真的讲的非常的详细。 #include bits/stdc.husing namespace std;typedef long long LL;LL n;LL C(int a, int b) {LL res 1;for (int i a, j 1; j b; i--, j){res res * i / j;if (res n)return res;}return res; }bool check(int k) {// l 是下限, r 是上限 LL l 2 * k, r max(l, n); while (l r){int mid l r 1;if (C(mid,k) n)r mid;elsel mid 1;}//二分完成之后r l 是下限 if (C(r,k) ! n) return false;printf(%lld\n, r * (r 1) / 2 k 1);return true; } int main() {scanf(%lld, n);// k 枚举的上限 for (int k 16; ; k--){if (check(k))break;}return 0; }9. 左孩子右兄弟 题目要求 给我构造一棵树然后将其转化为左孩子有兄弟的表示方式方式使其的深度最大。 左孩子右兄弟 左孩子就是将r节点的左孩子变成原本节点的孩子其中任意一个没有的话就空着。右兄弟呢就是r节点的兄弟如果没有兄弟节点右孩子也空着。 蓝桥的题目没有图片可以去Acwing上也有这道题目并且有图片。 思路 我们其实通过这张图就可以发现只需要将其孩子最多的那个子树放在最后就可以是整棵树拉长了而右孩子永远是右兄弟。 所以最大深度 子节点的数量 子节点所能形成的最大深度。 个人感觉有点那个树形dp的感觉。 另外注意题目中说只有一个节点的高度为0这与我们平时所学的数据结构不一样我们所学的只有一个节点树的高度是1. 所以只需要在最后的时候将答案减去1就好了。 也可以在dfs函数中将高度最开始1赋值成0都可以。 #include bits/stdc.h using namespace std;const int N 1e5 10;int n; int h[N], e[N], ne[N], idx;void Add(int a, int b) {e[idx] b, ne[idx] h[a], h[a] idx; }int dfs(int r) {int hmax 1, cnt 0; //hmax 为所子节点的最大高度 cnt为字节点的数量for (int i h[r]; i ! -1; i ne[i]){int j e[i];hmax max(hmax, dfs(j));cnt;}return hmax cnt; }int main() {scanf(%d, n);memset(h, -1, sizeof h);for (int i 2; i n; i){int p;scanf(%d, p);Add(p, i);}printf(%d\n, dfs(1) - 1);return 0; }
http://www.dnsts.com.cn/news/112710.html

相关文章:

  • 网站查询器人事处网站建设绩效目标概述
  • 之梦英语版网站怎么做把公司网站 公开下载 做教程 侵权吗
  • 长清网站建设公司客户营销
  • 网站建设与管理个人职业生涯规划书2023年央选职位表
  • 商务网站建设实训心得点击图片是网站怎么做的
  • 贵阳网站建设公司最近韩国电影片在线观看
  • 泰州网站建设多少钱外贸公司怎么找客户
  • 推荐电商网站建设wordpress访客明细
  • 云狄网站建设专业网站设计 网络服务
  • 开发网站的过程绍兴网站建设冯炳良
  • 厦门服装企业网站推广网站开发研究总结
  • 母婴产品网站模板建站赔补
  • 购物网站建设推进表淘宝seo搜索优化
  • 网站改版推荐杭州网站建设乐云seo模板中心
  • 百度网盘做视频网站做蛋糕的企业网站
  • 网站建设公司价格表企业 北京 响应式网站
  • 做的网站没法用能否拒绝付工资wordpress 企业 模板
  • php企业网站开发框架网页设计dw代码大全
  • 清欢互联网网站建设快递物流网站建设开发具备哪些功能
  • 有哪些免费的ppt模板下载网站黑龙江建设银行网站
  • 网站 优化 关键字企业网站建设的一般要素包括6
  • 阳新网站建设微信分享的h5网站开发
  • 织梦系统 子网站福田瑞沃自卸车
  • 网站建设费如何账务处理合肥seo网站排名优化公司
  • 自学做网站界面竞价单页网站制作教程
  • 欧米伽男士手表官方网站网站建设副业
  • 国之珍微站个人网站从0开始做网站
  • 南京网站费用网站建设深圳国际物流公司排名前十
  • 小公司如何做网站隔离网站内容优化
  • 广州网站改版设计公司国内永久免费crm系统网站推荐有哪些