寒假刷题第15天

news/2024/10/23 7:37:48/

PTA甲级

1101 Quick Sort

求partition的位置,partition位置一定是排好的序列与原序列相等的位置,并且对应原数组的位置左右两边左边小右边大

#include<iostream>
#include<algorithm>
#include<vector>using namespace std;const int N = 1e5 + 10;
int n;
vector<int>v(N) , v1(N);int main()
{cin >> n;for(int i = 0;i < n;i ++)cin >> v[i];v1 = v;sort(v.begin() , v.begin() + n);vector<int>res;int m = -1;for(int i = 0;i < n;i ++){if(v1[i] == v[i] && v1[i] > m) res.push_back(v[i]);m = max(m , v1[i]);}cout << res.size() << endl;for(int i = 0;i < res.size();i ++){if(i) cout << " ";cout << res[i];}cout << endl;return 0;
}

1106 Lowest Price in Supply Chain

这题很像之前的一道题,这省事出一样的题目

#include<iostream>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<cstring>using namespace std;const int N = 1e5 + 10;
int n;
double p , r;
vector<int>v[N];
int retail[N];
map<double , int>res;void dfs(int u , int dep)
{double now = pow(1 + 0.01 * r , dep) * p;if(retail[u] == u) res[now] ++;for(auto i : v[u])dfs(i , dep + 1);
}int main()
{memset(retail , -1 , sizeof retail);cin >> n >> p >> r;for(int i = 0;i < n;i ++){int k;cin >> k;if(!k) retail[i] = i;else {for(int j = 0;j < k;j ++){int x;cin >> x;v[i].push_back(x);}}}dfs(0 , 0);printf("%.4lf %d" , res.begin() -> first , res.begin() -> second);return 0;
}

1107 Social Clusters

是对人进行聚类

#include<iostream>
#include<vector>
#include<set>
#include<unordered_map>
#include<map>
#include<algorithm>
#include<cstring>using namespace std;const int N = 1010;
int n , p[N];
unordered_map<int , int>mp;
vector<int>res;
vector<int>hobby[N];int find(int x)
{if(p[x] != x) p[x] = find(p[x]);return p[x];
}int main()
{cin >> n;for(int i = 1;i <= n;i ++)p[i] = i;for(int i = 1;i <= n;i ++){int k;scanf("%d:" , &k);int last = -1;for(int j = 0;j < k;j ++){int x;cin >> x;hobby[x].push_back(i);}}for(int i = 1;i < N;i ++){for(int j = 1;j  < hobby[i].size();j ++){int pa = find(hobby[i][j]) , pb = find(hobby[i][j - 1]);if(pa != pb) p[pa] = pb;}}for(int i = 1;i <= n;i ++)mp[find(i)] ++;cout << mp.size() << endl;for(auto i : mp)res.push_back(i.second);sort(res.begin() , res.end());reverse(res.begin() , res.end());for(int i = 0;i < res.size();i ++){if(i) cout << " ";cout << res[i];}return 0;
}

1103 Integer Factorization

dfs,注意dfs不用循环就行,pow的计算拿到dfs外就行

#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#include<set>using namespace std;const int N = 500;
int n , p , k;
vector<int>res;
int limit , sumfac;
int pows[N];void getpow()
{for(int i = 1;i <= limit;i ++)pows[i] = pow(i , p);
}void dfs(vector<int>&temp , int u , int total , int factotal)
{if(u <= 0) return ;if(total > n) return ;if(temp.size() > k) return ;if(total == n && temp.size() == k){if(!res.size()) res = temp , sumfac = factotal;else {if(sumfac < factotal){res = temp;sumfac = factotal;}else if(sumfac == factotal){if(res < temp) res = temp;}}return ;}// 不使用循环即可// for(int i = limit;i >= 1;i --)// {//     temp.push_back(i);//     dfs(temp , total + pows[i] , factotal + i);//     temp.pop_back();// }temp.push_back(u);dfs(temp , u , total + pows[u] , factotal + u);temp.pop_back();dfs(temp , u - 1 , total , factotal);
}int main()
{scanf("%d %d %d" ,&n ,&k ,&p);limit = pow(n , 1.0 / p);getpow();vector<int>temp;dfs(temp , limit , 0 , 0);if(res.size()){printf("%d = " , n);for(int i = 0;i < res.size();i ++){if(i) printf(" + ");printf("%d^%d" , res[i] , p);}}else puts("Impossible");return 0;
}


http://www.ppmy.cn/news/1332970.html

相关文章

为什么选择Lua语言开发游戏?探索其高效与灵活之秘

在当今的游戏开发领域&#xff0c;有多种编程语言可以选择&#xff0c;每种语言都有其独特的优势和适用场景。而在这些语言中&#xff0c;Lua语言因其高效性和灵活性而备受游戏开发者的青睐。那么&#xff0c;为什么选择Lua语言开发游戏呢&#xff1f;本文将深入探索其背后的原…

Java转成m3u8,hls格式

Java转成m3u8,hls格式 需求分析 大致思路 循环文件夹下面所有文件判断当前文件是否是视频文件&#xff0c;如果是视频文件先转为ts文件 因为听别人说先转成ts之后再切片会快很多 转成ts文件&#xff0c;并为这些文件单独生成一个目录&#xff0c;如果目录不存在则新建一个目…

Linux 挂载读取、卸载 ntfs格式硬盘

windows常用的ntfs硬盘分区格式&#xff0c;在linux通常不能直接读取&#xff0c;不过挂载也是非常容易 一、挂载ntfs分区 1.安装 apt-get install ntfs-3g2.查看现在接上的硬盘 fdisk -l可以找到类似如下的&#xff0c;会显示microsoft basic data 3.创建挂载的目录 创…

Spring5学习笔记

Spring5 框架概述IOC(Inversion Of Control)IOC基本过程:IOC接口(BeanFactory)IOC接口实现类IOC操作Bean管理一、什么是Bean管理?二、什么是DI?三、Bean管理的两种实现方式1.基于XML配置文件方式实现基于XML方式创建对象基于XML方式注入属性常规属性注入特殊属性值的注入…

家用洗地机什么品牌比较好?洗地机口碑榜

近年来&#xff0c;家庭清洁产品备受瞩目&#xff0c;人们寻求省力的清洁解决方案&#xff0c;在清洁产品上面的购买真的是煞费苦心。各大厂商们也不负众望&#xff0c;推出了洗地机&#xff0c;这一产品在市场上受到了广泛欢迎。洗地机作为新时代的产物&#xff0c;集吸尘、拖…

基于OpenLayers实战地理信息系统教程

第1讲-概述.rar 第2讲-庞杂的GIS体系概览 01.rar 第3讲-项目快速实战(-).rar 第4讲-项目快速实战(二) 01.rar 第5讲-项目快速实战(三).rar 第6讲-项目快速实战(四).rar 第7讲-项目快速实战(五).rar 第8讲-项目快速实战(六).rar 第9讲-项目快速实战(七).rar 第10讲-项目…

go-zero 统一返回

1、整体目录结构 1、全局处理主入口 package manageimport ("net/http""github.com/zeromicro/go-zero/rest/httpx" )type Body struct {Code int json:"code"Message string json:"message"Result interface{} jso…

研究性学习:社会关注的热点问题研究

1. 课题名称 社会关注的热点问题研究 2. 起止时间 起始时间:2024年1月25日 结束时间:2024年2月20日 3. 项目组成员 组长:刘明组员:赵丽、陈鑫校内指导教师:王老师校外指导教师:社会工作者李教授4. 组员分工情况 搜集整理资料: 刘明:负责搜集西安市健康上网问题的资…