这题也不是很难,首先就是全排列 ,于是想到了dfs,在此基础上,再对这些数列进行划分,找到满足条件的情况即可。
#include<bits/stdc++.h>
using namespace std;
bool vis[10];
vector<vector<int> >v;
vector<int> temp;
void dfs(int depth)
{
if(depth == 10)
v.push_back(temp);
for(int i = 1;i<=9;i++)
{
if(vis[i]==0)//未走过
{
vis[i] = 1;
temp.push_back(i);
dfs(depth+1);
temp.pop_back();
vis[i] = 0;
}
}
}
int tonum(int j,int start,int end)
{
int sum = 0;
for(int i =start;i<=end;i++)
{
sum = sum*10+v[j][i];
}
return sum;
}
int main()
{
int n;
cin>>n;
dfs(1);
int ans = 0;
for(int i =0;i<v.size();i++)
{
//第一个整数cv
for(int j =0;j<7;j++) //都是从下标开始
{
int a1 = tonum(i,0,j);
if(tonum(i,0,j)>n)
break;//不再扩增
for(int k = j+1;k<=7;k++)
{
int a2 = tonum(i,j+1,k);
int a3 = tonum(i,k+1,8);//把这个分成三段
if(a2 < a3||a2%a3!=0)
{
continue;
}
if((n - a1) == (a2/a3))
ans++;
}
}
}
cout<<ans<<endl;
return 0;
}
思维题,主要是了解到每一步中其数字 是如何更新的,另外这个里面只需要求出一部分区间即可。
#include<bits/stdc++.h>
using namespace std;
bool v[1000001];
int m,n,sum = 0;
void zhiyi()
{
for(int i =2;i<=n;i++)//从下标开始记录 这以后都是
{
if(v[i] == 0)//当前未置1
{
for(int j =1,sum =0;j<=n;j++)
{
if(v[j] == 0)
sum++;
if(sum == i)
{
sum = 0;
v[j] = 1;
}
}
}
}
}
int main()
{
cin>>m>>n;
memset(v,0,sizeof(v));
int ans = 0;
zhiyi();
for(int i = m+1;i<n;i++)
{
if(v[i] == 0)
ans++;
}
cout<<ans<<endl;
return 0;
}
这个题目主要就是要学会使用set 和 map和pair
#include <bits/stdc++.h>
using namespace std;
set<vector<int> > s;
map<vector<int>, int> mp; //标记里面的重复的个数
int n, m;
//下面就是排序 排序的部分就交给set里面的函数来处理 至于处理的对象 就可以在函数里面定义
struct cmp
{
bool operator()(const pair<vector<int>, int> &a, const pair<vector<int>, int> &b)
//如果对set内部进行排序,则可以选择这样的一种写法
{
if (a.second != b.second)
{
return a.second > b.second;
}
else
return a.first < b.first;
}
};
set<pair<vector<int>, int>, cmp> List; //这样 这个list就遵循这样的排序顺序
int main()
{
cin >> n >> m;
for (int i = 0; i < n; i++)
{
vector<int> v;
for (int j = 0; j < m; j++)
{
int temp;
cin >> temp;
v.push_back(temp);
}
s.insert(v);
mp[v]++;
}
cout << s.size() << endl;
for (auto it = s.begin(); it != s.end(); it++)
{
List.insert({*it, mp[*it]});
}
for (auto it = List.begin(); it != List.end(); it++)
{
cout << (*it).second;
for (int i = 0; i < (*it).first.size(); i++)
{
cout << " " << (*it).first[i];
}
cout << endl;
}
return 0;
}
等几种STL结构的方法,这几种数据结构在这个里面都有所体现,只一个值得看的题目,另外,这个里面用set进行排序的时候,注意一下函数该怎么写。
还原文件 这是两个比较复杂的模拟题 当做是练手
#include<bits/stdc++.h>
using namespace std;
string s;
string a[101];
int last[101];
bool vis[101];
vector<int> v;
int main()
{
int n;
cin>>n;
for(int i = 0;i<n;i++)
{
string temp;
cin>>temp;
s+=temp;
}
//cout<<s<<endl;
cin>>n;
for(int i =0;i<n;i++)
{
int j;
cin>>j;
for(int k = 0;k<j;k++)
{
string temp;
cin>>temp;
if(k == j-1)
{
last[i] = temp.size();
}
a[i]+=temp;
}
}
//cout<<a[0]<<endl;
int j;
while(s.size() != 0)
{
for(j = 0;j<n;j++)
{
if(vis[j] == 0&&a[j] == s.substr(0,a[j].size()))
{
//cout<<a[j]<<endl;
s.erase(s.begin(),s.begin()+a[j].size()-last[j]);
//cout<<s<<endl;
vis[j] = 1;
v.push_back(j+1);
break;
}
}
//cout<<s<<endl;
if(s.size() == last[j])
break;
}
for(int i =0;i<v.size()-1;i++)
cout<<v[i]<<" ";
cout<<v[v.size()-1];
return 0;
}
#include<bits/stdc++.h>
using namespace std;
vector<vector<int> >vv;//记录每一次的操作
vector<int> v[101];//表示每一个存档
vector<int> ab;//表示当前所进行的操作
int N,M;
int main()
{
cin>>N>>M;
for(int i = 1;i<=N;i++)
{
int n;
cin>>n;
vector<int> temp;
for(int j = 0;j<n;j++)
{
int k;
cin>>k;
temp.push_back(k);
}
vv.push_back(temp);//依次进行每一个存档
}
//下面开始进行每一步的操作
int now = 1;
ab.push_back(1);//表示去过第一次了
for(int i =0;i<M;i++)
{
int step;
cin>>step;
if(step == 0)
{
int pro;
cin>>pro;
now = vv[now-1][pro-1];//表示的是当前是第几个
ab.push_back(now);
}
else if(step == 1)
{
int pro;
cin>>pro;
v[pro] = ab;//表示把当前这个进行一个存档
cout<<now<<endl;
}
else
{
int pro;
cin>>pro;
ab = v[pro];
now = ab[ab.size()-1];
}
}
cout<<now;
return 0;
}
文章浏览阅读1.9k次。rook-ceph O版结合k8s部署,部署失败后,一定要彻底清理,否则磁盘osd识别不到硬盘。1.首先先删除k8s上rook-ceph下的所有资源,按照部署的顺序反着操作。kubectl delete -f cluster.yamlkubectl delete -f operator.yamlkubectl delete -f common.yamlkubectl delete -f crds.yaml(其实后面的common和crds可以不删,为了稳妥一点还是删了吧)删资源的过程中,可._rook-ceph 卸载
文章浏览阅读990次。从1G到4G,每一代移动通信技术的频谱效率都会向前迈进一大步。逐步清退2G,让位给新技术,运营商不仅可重耕2G优质频段,还能大幅节省弥足珍贵的频谱资源——如果传统2/3G CS语音退役并迁移至4G VoLTE,运营商可释放达90%的频谱资源。为此,全球多家运营商已陆续关闭2G网络。然而,展望5G,从CS语音到VoLTE再到5G VoNR,这背后却让我们看到了一个更加辉煌的时代——电路交换时代逐渐退出历史舞台。最早的电话网络叫电路交换(circuit switching..._2g电路交换
文章浏览阅读53次。5 月 8 日消息,网上有消息称,荣耀手机可能无缘鸿蒙 OS,部分荣耀手机用户表示担心。对此,微博博主 @菊厂影业 Fans 表示,荣耀用户不要听信谣言。该博主还公开了部分有升级计划的荣耀机型。该博主表示,荣耀 V40 之前的设备可以升级鸿蒙系统,包括荣耀 30 系列,V30 系列,麒麟 810、820 芯片产品也都有升级计划。中关村在线了解到,此前有荣耀 9X 用户参与了鸿蒙 OS 内测,荣耀 ..._鸿蒙系统升级名单荣耀不能升级?
文章浏览阅读1.2w次,点赞5次,收藏13次。用户请求地理数据或者其他数据,服务器要以一定的客户端能够识别的数据格式返回,数据格式是否高效,直接影响用户的体验!首先要求数据格式要是轻量级的,还要求客户端处理数据方便快捷,相较于XML,JSON满足这两个要求,且目前应用广泛,非常流行。而在传输地理信息方面,相应有GeoJSON。下面咱就来了解一下GeoJSON,并看看它怎么应用到应用里!_openlayers geojson是什么格式
文章浏览阅读1.7k次,点赞5次,收藏14次。vue-cli脚手架目录一览最近在学习vue,看的稀里糊涂。今天从头开始,把cli配置的vue项目目录和配置文件搞清楚。先看看整个项目目录结构:再看看build文件夹下相关文件及目录:config文件夹下目录和文件:接下来说说vue-cli项目中页面相关的主要文件o首先是index.html:说明:一般只定义一个空的根节点,在main.js里面定义的实例将挂载在#app节点下,..._vue cli 所在目录
文章浏览阅读2w次,点赞67次,收藏468次。作者:niemvuilaptrin译者:前端小智来源:medium有梦想,有干货,微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。今天,分享一波唯美的边框,可增加我们的项目"亮"点,让用户爱起来。渐变边框动画事例地址:https://codepen.io/mike-schultz/pen/NgQvGOCSS Animati._css好看的边框样式
文章浏览阅读3k次。android 权限 permission_adb 给app授权
文章浏览阅读1.5k次。问题:mkfs.ext3: Size of device /dev/sdc1 too big to be expressed in 32 bits using a blocksize of 4096.CentOS 6.3 x64 支持大于2T,小于16T的数据盘 1.支持2T2.支持x>16T磁盘分区,需要安装插件;e2fsprogs-1.43.4.tar.gz(CentOS 6._size of device too big to be
文章浏览阅读220次。用正则表达式:function GetQueryString(name) { var reg = new RegExp(“(^|&)”+ name +”=([^&]*)(&|$)”); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); r_servlet如何接收js的url参数
文章浏览阅读3.9k次。目前有的服务器配置两台装了win10的同等配置的虚拟机,两个服务器在一个局域网内 。暂且称为服务器A,服务器B。服务器A安装tomcat,部署应用。服务器B安装mysql和redis数据库。安装服务器环境服务器A安装jdk1.8环境打开环境变量配置。计算机→属性→高级系统设置→高级→环境变量,在系统变量中配置。配置JAVA_HOME。新建,变量名JAVA_HOME,变量值,..._autojob两台服务器怎么部署
文章浏览阅读3.6k次。从写入性能到查询性能均大幅满足现场实际需求,整体压缩率可以达到3/100。_tdengine单表支持最大容量
文章浏览阅读1k次。从引导安装HP最新一代的Gen8服务器已经将引导集成在机器里面了,不再需要单独的引导盘,也避免了以前由于引导盘丢失所造成的各种不便F9:Setup进入BIOSF10:IntelligentProvisioning进入引导F11:启动选项此处按F10进入引导创建磁盘阵列(Raid)以及安装操作系统进入引导后会有短暂的初始窗口,稍等片刻初始完成,此处可以选择界面语言、键盘类型、时间等一些设置设..._hp 388 gen8服务器raid配置