atcoder-374(a-e)

news2024/10/8 18:42:34

atcoder-374

文章目录

  • atcoder-374
      • A
      • B
      • C
        • 简洁的写法
        • 正解
      • D
        • 正解
      • E

A

#include<bits/stdc++.h>

using namespace std;

signed main()
{
  string s;
  cin>>s;
  
  string str=s.substr(s.size()-3);
  if(str =="san") puts("Yes");
  else puts("No");
  return 0;
}

B


#include<bits/stdc++.h>

using namespace std;

signed main()
{
  string s,t;
  cin>>s>>t;
  int slen=s.size();
  int tlen=t.size();
  if(slen>tlen){
      swap(s,t);
      swap(slen,tlen);
  }
  int flag=1;
  if(s==t) puts("0");
  else{
    for(int i=0;i<s.size();i++){
      if(s[i]!=t[i]){
        cout<<i+1<<endl;
        flag=0;
        return 0;
      }
    }
    if(flag&&tlen!=slen){
        cout<<slen+1<<endl;
    }
  }
  return 0;
}

C

#include<bits/stdc++.h>

using namespace std;

signed main()
{
  int n;
  cin>>n;
  
  vector<int> k(n);
  int ans=0;
  for(int i=0;i<n;i++){
    cin>>k[i];
    ans+=k[i];
  }
  
  sort(k.begin(),k.end());
  
  int mid=0;
  for(int i=0;i<n;i++){
    mid+=k[i];
    if(mid>=ans/2){
      break;
    }
  }
  cout<<mid<<endl;
  return 0;
}

找到离中间值最近的组合

n最大也就20,搜索算法即可

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int N=25;
ll k[N];
int v[N];
int n;
ll ans=0;
ll res=1e18;

void dfs(int u,ll cnt)
{
  if(cnt<=res&&cnt>=ans/2ll){
    res=cnt;
  }
  
  for(int i=1;i<n;i++){
    if(!v[i]){
      v[i]=1;
      dfs(i,cnt+k[i]);
      v[i]=0;
    }
  }
}

signed main()
{
  
  cin>>n;
  
  for(int i=0;i<n;i++){
    cin>>k[i];
    ans+=k[i];
  }
//   cout<<ans<<endl;
  
  dfs(0,0ll);
  cout<<res<<endl;
  return 0;
}

为什么正着做不行

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int N=25;
ll k[N];
int v[N];
int n;
ll ans=0;
ll res=0;

void dfs(int u,ll cnt)
{
  if(cnt<=ans/2ll&&res<=cnt){
    res=cnt;
  }
  
  for(int i=u;i<n;i++){
    if(!v[i]){
      v[i]=1;
      dfs(i,cnt+k[i]);
      v[i]=0;
    }
  }
}

signed main()
{
  
  cin>>n;
  
  for(int i=0;i<n;i++){
    cin>>k[i];
    ans+=k[i];
  }
//   cout<<ans<<endl;
  
  dfs(0,0);
  cout<<ans-res<<endl;
  return 0;
}
简洁的写法

因为N最大为20,2的20次方也就1e6的复杂度,那直接暴力枚举就可以求解

但是用二进制表示选或者不选,怎么去做判断呢

#include<bits/stdc++.h>

using namespace std;

signed main()
{
  int n;
  cin>>n;
  
  vector<int> a(n+1);
  
  for(int i=1;i<=n;i++) cin>>a[i];
  
  int ans=0;
  for(int i=0;i< (1<<n+1);i++)
  {
    int s = i;
    for(int j=0;j<32;j++){
      if(i>>j&1) ans+=a[i];
    }
    if(ans) 
  }
  return 0;
}
正解

jianly的状态求和有点像前缀和

#include<bits/stdc++.h>

using namespace std;

signed main()
{
  int n;
  cin>>n;
  vector<int> k(n+1);
  for(int i=1;i<=n;i++) cin>>k[i];
  
  int tot = accumulate(k.begin()+1,k.end(),0);
//   cout<<tot<<endl;
  vector<int> sum(1<<n);
  
  int ans=1e9;
  
  for(int i=0; i<(1<<n); i++){
      if(i>0){
          int u = __builtin_ctz(i);
          sum[i]=k[u]+sum[i^(1<<u)];
      }
      ans = min(ans,max(sum[i],tot-sum[i]));
  }
  cout<<ans<<endl;
  return 0;
}

D

那两条线近就先走哪两段

就是最短路

其实是最小生成树

#include<bits/stdc++.h>

using namespace std;

signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);

	int n,s,t;
	  cin>>n>>s>>t;
	  
	  vector<int> a(n+1),b(n+1),c(n+1),d(n+1);
	  vector<bool> v(n+1);
	  
	  for(int i=1;i<=n;i++) cin>>a[i]>>b[i]>>c[i]>>d[i];
	  
	  double res=1e9;
	  auto dfs = [&](auto &self,int x,int y,double ans=0.0,int cnt=0){
	    if(cnt==n){
	      res=min(ans,res);
	      return ;
	    }
	    
	    for(int i=1;i<=n;i++){
	      if(v[i]) continue;
	      double dis0=hypot(a[i]-x,b[i]-y);
	      double dis1=hypot(c[i]-x,b[i]-y);
	      double dis =hypot(a[i]-c[i],b[i]-d[i]);
	      cout<<dis<<endl;
	      v[i]=1;
	      self(self,a[i],b[i],ans+dis,cnt+1);
	      self(self,c[i],d[i],ans+dis,cnt+1);
	      v[i]=0;
	    }
	  };
	  
	  dfs(dfs,0,0);

	return 0;
}

现在需要解决的是,如何输出样例那么长的小数,以及当两条线段重合时的距离需要重新计算

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int N=10,M=2*N;
int pa[N];
int n;
double s,t;

struct xian{
  int a,b;
  int c,d;
  double dis=0;
}xs[N];

struct node{
  int a,b;
  double dis;
  
  bool operator<(const node &M)const{
      return dis<M.dis;
  }
}ns[M];

double dist(double x,double y,double xx,double yy){
  return sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy));
}

int find(int x){
  if(x!=pa[x]) pa[x]=find(pa[x]);
  return pa[x];
}

signed main()
{

  cin>>n>>s>>t;
  double ans=0;
  for(int i=1;i<=n;i++){
    cin>>xs[i].a>>xs[i].b>>xs[i].c>>xs[i].d;
    xs[i].dis=dist(xs[i].a,xs[i].b,xs[i].c,xs[i].d);
    ans+=xs[i].dis/t;
    // cout<<xs[i].a<<' '<<xs[i].b<<' '<<xs[i].c<<' '<<xs[i].d<<' '<<xs[i].dis<<endl;
  }
//   cout<<ans<<endl;
  int cnt=1;
  
  for(int i=1;i<=n;i++){
    for(int j=i+1;j<=n;j++){
      auto &u=xs[i],&v=xs[j];
      double dis=1e9;
     
      dis=min(dist(u.a,u.b,v.a,v.b),dis);
      dis=min(dist(u.a,u.b,v.c,v.d),dis);
      dis=min(dist(u.c,u.d,v.a,v.b),dis);
      dis=min(dist(u.c,u.d,v.c,v.d),dis);

      
      ns[cnt++]={i,j,dis};
    }
  }
  sort(ns+1,ns+cnt+1);
  for(int i=1;i<=n;i++) pa[i]=i;
  
  for(int i=1;i<=cnt;i++){
    int a=ns[i].a;
    int b=ns[i].b;
    double dis=ns[i].dis;
    
    a=find(a),b=find(b);
    if(a!=b){
    // cout<<a<<' '<<b<<' '<<dis<<endl;    
      pa[a]=b;
      ans+=dis/s;
    }
  }
  printf("%lf",ans);
  return 0;
}
#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int N=10,M=2*N;
int pa[N];
int n;
double s,t;

struct xian{
  int a,b;
  int c,d;
  double dis=0;
}xs[N];

struct node{
  int a,b;
  double dis;
  
  bool operator<(const node &M)const{
      return dis<M.dis;
  }
}ns[M];

double dist(double x,double y,double xx,double yy){
  return sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy));
}

int find(int x){
  if(x!=pa[x]) pa[x]=find(pa[x]);
  return pa[x];
}

signed main()
{

  cin>>n>>s>>t;
  double ans=0;
  for(int i=1;i<=n;i++){
    cin>>xs[i].a>>xs[i].b>>xs[i].c>>xs[i].d;
    xs[i].dis=dist(xs[i].a,xs[i].b,xs[i].c,xs[i].d);
    ans+=xs[i].dis/t;
    // cout<<xs[i].a<<' '<<xs[i].b<<' '<<xs[i].c<<' '<<xs[i].d<<' '<<xs[i].dis<<endl;
  }
//   cout<<ans<<endl;
  int cnt=1;
  
  for(int i=1;i<=n;i++){
    for(int j=i+1;j<=n;j++){
      auto &u=xs[i],&v=xs[j];
      double dis=1e9;
     
      dis=min(dist(u.a,u.b,v.a,v.b),dis);
      dis=min(dist(u.a,u.b,v.c,v.d),dis);
      dis=min(dist(u.c,u.d,v.a,v.b),dis);
      dis=min(dist(u.c,u.d,v.c,v.d),dis);

      
      ns[cnt++]={i,j,dis};
    }
  }
  sort(ns+1,ns+cnt+1);
  for(int i=1;i<=n;i++) pa[i]=i;
  
  for(int i=1;i<=cnt;i++){
    int a=ns[i].a;
    int b=ns[i].b;
    double dis=ns[i].dis;
    
    a=find(a),b=find(b);
    if(a!=b){
    // cout<<a<<' '<<b<<' '<<dis<<endl;    
      pa[a]=b;
      ans+=dis/s;
    }
  }
  printf("%lf",ans);
  return 0;
}

image-20241006014914769

image-20241006015120513

打印开始,坐标位于0,0.。。。。。。。。

佩服,我是理解错了,如果用最小生成树,那么还得建其实坐标到所有边的两个端点的边

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int N=10,M=2*N;
int pa[N];
int n;
double s,t;

struct xian{
  int a,b;
  int c,d;
  double dis=0;
}xs[N];

struct node{
  int a,b;
  double dis;
  
  bool operator<(const node &M)const{
      return dis<M.dis;
  }
}ns[M];

double dist(double x,double y,double xx,double yy){
  return sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy));
}

int find(int x){
  if(x!=pa[x]) pa[x]=find(pa[x]);
  return pa[x];
}

signed main()
{

  cin>>n>>s>>t;
    
  double ans=0;
  for(int i=1;i<=n;i++){
    cin>>xs[i].a>>xs[i].b>>xs[i].c>>xs[i].d;
    xs[i].dis=dist(xs[i].a,xs[i].b,xs[i].c,xs[i].d);
    ans+=xs[i].dis/t;
    // cout<<xs[i].a<<' '<<xs[i].b<<' '<<xs[i].c<<' '<<xs[i].d<<' '<<xs[i].dis<<endl;
  }
//   cout<<ans<<endl;
  int cnt=1;
  
  for(int i=1;i<=n;i++){
    for(int j=i+1;j<=n;j++){
      auto &u=xs[i],&v=xs[j];
      double dis=1e9;
     
      dis=min(dist(u.a,u.b,v.a,v.b),dis);
      dis=min(dist(u.a,u.b,v.c,v.d),dis);
      dis=min(dist(u.c,u.d,v.a,v.b),dis);
      dis=min(dist(u.c,u.d,v.c,v.d),dis);

      
      ns[cnt++]={i,j,dis};
    }
  }
  for(int i=1;i<=n;i++){
    auto &u = xs[i];
    double dis=1e9;
    dis=min(dis,dist(u.a,u.b,0,0));
    dis=min(dis,dist(u.c,u.d,0,0));
    ns[cnt++]={0,i,dis};
  }
  sort(ns+1,ns+cnt+1);
  for(int i=1;i<=n;i++) pa[i]=i;
  
  for(int i=1;i<=cnt;i++){
    int a=ns[i].a;
    int b=ns[i].b;
    double dis=ns[i].dis;
    
    a=find(a),b=find(b);
    if(a!=b){
    // cout<<a<<' '<<b<<' '<<dis<<endl;    
      pa[a]=b;
      ans+=dis/s;
    }
  }
  printf("%lf",ans);
  return 0;
}

image-20241006144944034

样例2,还是不行,因为对于0到其他的点,不可能再从0出发,那样会浪费时间

还是老老实实的搜索吧

#include<bits/stdc++.h>

using namespace std;

signed main()
{
  int n,s,t;
  cin>>n>>s>>t;
  
  vector<int> a(n+1),b(n+1),c(n+1),d(n+1);
  vector<bool> v(n+1);
  
  for(int i=1;i<=n;i++) cin>>a[i]>>b[i]>>c[i]>>d[i];
  
  double res=1e9;
  auto dfs = [&](auto &self,int x,int y,double ans=0.0,int cnt=0){
    if(cnt==n){
      res=min(ans,res);
      return ;
    }
    
    for(int i=1;i<=n;i++){
      if(v[i]) continue;
      double dis0=hypot(a[i]-x,b[i]-y);
      double dis1=hypot(c[i]-x,b[i]-y);
      double dis =hypot(a[i]-c[i],b[i]-d[i]);
      cout<<dis<<endl;
      v[i]=1;
      self(self,a[i],b[i],ans+dis,cnt+1);
      self(self,c[i],d[i],ans+dis,cnt+1);
      v[i]=0;
    }
  };
  
  dfs(dfs,0,0);
  
  return 0;
}
正解

学会用sublime简直是令人赏心悦目

image-20241006222756860

#include<bits/stdc++.h>

using namespace std;

signed main()
{
  int n;
  double s,t;
  cin>>n>>s>>t;
  
  vector<int> a(n+1),b(n+1),c(n+1),d(n+1);
  vector<bool> v(n+1);
  
  for(int i=1;i<=n;i++) cin>>a[i]>>b[i]>>c[i]>>d[i];
  
  double res=1e9;
  auto dfs = [&](auto &self,int x,int y,double ans=0.0,int cnt=0){
    if(cnt==n){
      res=min(ans,res);
      return ;
    }
    
    for(int i=1;i<=n;i++){
      if(v[i]) continue;
      double dis0=hypot(a[i]-x,b[i]-y);
      double dis1=hypot(c[i]-x,d[i]-y);
      double dis =hypot(a[i]-c[i],b[i]-d[i]);
      // cout<<dis<<' '<<i<<endl;
      v[i]=1;
      self(self,a[i],b[i],ans+dis/t+dis1/s,cnt+1);
      self(self,c[i],d[i],ans+dis/t+dis0/s,cnt+1);
      v[i]=0;
    }
  };
  
  dfs(dfs,0,0);
  cout<<fixed<<setprecision(20)<<res<<endl;
  
  return 0;
}

E

赛时连看都没有机会看

简单读了题目之后,是求最大值

关于生产力的定义是,每道工序在哪一天可以加工的最少产品

不知道怎么个搜法

因为如果像上一题一样有不同的线段,这一题则是有不同的商品,但是每个商品可以选择的个数不定受限制于总预算X

#include<bits/stdc++.h>

using namespace std;

signed main()
{
    
    return 0;
}

jiangly用到了二分答案的做法,关于上面的问题,因为能处理的数量不超过100

所以直接枚举数量到100,计算所产生的总成本,如果成本不超过二分的那个值,那么就可以计算出最小生产力

讲解得还不错的视频

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	int n;
	ll x;
	cin>>n>>x;

	vector<int> a(n+1),p(n+1),b(n+1),q(n+1);
	// for(int i=1;i<=n;i++) cin>>a[i]>>p[i]>>b[i]>>q[i];

	for(int i=1;i<=n;i++)
	{
		cin>>a[i]>>p[i]>>b[i]>>q[i];
		if(a[i]*q[i]<b[i]*p[i])
		{
			swap(a[i],b[i]);
			swap(q[i],p[i]);
		}
	}


	auto check = [&](int mid)
	{
		ll ans = 0;
		for(int i=1;i<=n;i++)
		{
			ll res = 1e18;
			for(int j=0;j<=100;j++)
			{
				ll need = mid-b[i]*j;
				// mid-=b[i]*j;
				// 不能直接改变目标生产力
				// 因为要找到需要最合适的性价比低的物品的数量
				ll v=j*q[i];
				if(mid>0)
				{
					v+=(1ll)*(need+a[i]-1)/a[i]*p[i];
				}
				res=min(res,v);
			}
			ans+=res;
		}
		return ans<=x;
	};

	ll l=0,r=1e9;
	// 这样还不会爆int
	while(l<r)
	{
		ll mid=(l+r+1)>>1;
		if(check(mid)) l=mid;
		else r=mid-1;
	}

	cout<<r<<endl;

	return 0;
}

是有一点背包的感觉,还没有看官方题解

官方题解也是枚举+二分答案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2196978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot Jar 包加密防止反编译

今天看到了一个说明jar包加密的实现方式&#xff0c;特意试了下效果&#xff0c;并下载了插件源码及实现源码查看了下子&#xff0c;感兴趣的可以在最后得到gitee地址。 SpringBoot 程序 Jar 包加密的方式&#xff0c;通过代码加密可以实现无法反编译。应用场景就是当需要把公司…

谈谈电路板中高速电路设计和低速电路设计的区别

谈谈电路板中高速电路设计和低速电路设计的区别 1.高速电路和低速电路的应用场景&#xff1a;1.1.低速电路应用场景1.2.高速电路的应用场景1.3.高速电路设计比低速电路设计强吗 2.高速电路和低速电路的如何区分2.1.Fknee有效频率是什么2.2.区分高速和低速的步骤&#xff1a; 3.…

OpenFeign 工作原理源码记录

文章目录 EnableFeignClientsregisterDefaultConfigurationregisterFeignClients类路径扫描注册 FeignClientregisterFeignClient 总结 FeignClient 接口实例化FeignContextcreateContextthis.configurationsClient FeignBuilderloadBalance 负载均衡实现Targeter 创建接口代理…

JavaScript函数基础(通俗易懂篇)

10.函数 10.1 函数的基础知识 为什么会有函数&#xff1f; 在写代码的时候&#xff0c;有一些常用的代码需要书写很多次&#xff0c;如果直接复制粘贴的话&#xff0c;会造成大量的代码冗余&#xff1b; 函数可以封装一段重复的javascript代码&#xff0c;它只需要声明一次&a…

基于springboot vue地方废物回收机构管理系统设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

JavaScript将array数据下载到Excel中

具体代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widt…

centos7安装node18及升级glbic

centos7安装node18及升级glbic CentOS7安装nodejs18及以上版本会报错&#xff0c;glibc版本过低 安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash source ~/.nvm/nvm.shnvm install 18 nvm use 18#设置默认版本 nvm alias defau…

2024最新最全:超详细Nmap使用技巧(非常详细)零基础入门到精通,收藏这一篇就够了

这个工具我几乎可以不用介绍了&#xff0c;就算你们没用过&#xff0c;但是每当提起黑客工具大部分都会看到他。Nmap是一款非常强大的主机发现和端口扫描工具&#xff0c;而且nmap运用自带的脚本&#xff0c;还能完成漏洞检测&#xff0c;同时支持多平台。 一、主机发现 1. 全…

数字王国里的虚拟人——技术、商业与法律解读

数字王国里的虚拟人——技术、商业与法律解读 目录 数字王国里的虚拟人——技术、商业与法律解读引言作者解读书籍简介摘抄适用群体小结购书链接 引言 这本书是一本兼具深度和广度的跨专业领域的科普读物&#xff0c;全书以案例形式&#xff0c;用轻松有趣的笔触向读者传递了科…

【网络原理】面试高频考点!!TCP协议“三次握手,四次挥手”,保姆级详解,建议收藏!

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;计算机网络那些事 通过上篇文章&#xff0c;我们可以得知TCP通过 “确认应答” 和 “超时重传”机制相辅相成&#xff0c;共同构建了 TCP的“可靠传输机制”。而为了保障建立通信和断开通信的可靠性…

【Orange Pi 5嵌入式应用编程】-用户空间BH1750环境光传感器驱动

BH1750环境光传感器驱动 文章目录 BH1750环境光传感器驱动1、BH1750传感器介绍2、BH1750测量流程及寄存器2.1 BH1750功能结构2.2 BH1750流量流程2.3 BH1750的控制指令2.4 BH1750通信时序2.4.1 连续高分辨模式2.4.2 单次低分辨模式2.4.3 传感器灵敏度调整3、BH1750FVI驱动实现3.…

JavaEE: 深入解析HTTP协议的奥秘(3)

文章目录 HTTP认识 "报头"(Header)认识 "状态码"(status code) HTTP JavaEE: 深入解析HTTP协议的奥秘(2) 书接上文~ 认识 “报头”(Header) Header 的整体的格式是"键值对"结构. 每个键值对占一行,键和值之间使用分号分隔. Host 表示服务器主…

JVM实现跨平台的关键因素:class文件和“翻译器”

文章目录 前言关键因素&#xff1a;class文件class文件格式说明Java 源代码在class文件中的体现涉及到的知识点&#xff08;面试题&#xff09; 关键因素&#xff1a;“翻译器”解释器即时编译器&#xff08;JIT&#xff09; 总结 前言 当你通过上文对JVM有了初步的认识后&…

【电路】1.3 电功率和能量

1.3 电功率和能量 电是一种能量存在形式。 1.3.1 电压的定义 将单位正电荷由A点移动至B点&#xff0c;电场力所做的功是 w w w&#xff0c;则 u A B d w d q u_{AB}\frac{dw}{dq} uAB​dqdw​&#xff0c; w w w是功&#xff0c; q q q是电荷量从A到B&#xff0c;沿着任意路…

Squid + Stunnel 配置

环境&#xff1a; 亚马逊服务器一台&#xff1a;3.26.80.132 华为云服务器一台&#xff1a;122.59.52.68 客户机一台&#xff1a; Win11 实现的需求&#xff1a;客户机通过设置华为云代理&#xff0c;实现透过亚马逊服务器上网 一、亚马逊服务器 1、安装Squid https://bl…

刚转Mac的新手如何卸载不需要的应用程序

最开始转Mac系统的时候很是苦恼&#xff0c;到底该怎么卸载App啊&#xff0c;App直接拖到废纸篓真的能卸载干净吗&#xff0c;卸载App时会不会留下一些文件残留&#xff0c;慢慢的会不会占满内存&#xff0c;于是我找到了一个免费的卸载工具——XApp。 这是一款Mac应用程序卸载…

《贪吃蛇小游戏 1.0》源码

好久不见&#xff01; 终于搞好了简易版贪吃蛇小游戏&#xff08;C语言版&#xff09;&#xff0c;邀请你来玩一下~ 目录 Snake.h Snake.c test.c Snake.h #include<stdio.h> #include<windows.h> #include<stdbool.h> #include<stdlib.h> #inclu…

某国有资本运营中心人才选拔项目纪实

某国有资本运营中心人才选拔项目纪实 【客户行业】 政府与事业单位 【问题类型】 人才招聘选拔 【客户背景】 在三年国企改革过程中&#xff0c;南方某省政府为响应国家政策&#xff0c;提出组建专业化国有资本投资运营公司&#xff0c;大力开展专业化资本运营&#xff0c;…

016 规格参数

文章目录 新增AttrController.javaAttrVo.javaAttrServiceImpl.javaAttrAttrgroupRelationEntity.javaAttrEntity.javaAttrGroupEntity.java 查询AttrController.javaAttrServiceImpl.javaAttrRespVo.java 修改回显AttrController.javaAttrServiceImpl.java 修改提交AttrContro…

京东云主机和云服务器有啥区别?轻量云主机就是轻量应用服务器吗?

京东云主机和云服务器有啥区别&#xff1f;轻量云主机就是轻量应用服务器吗&#xff1f;云主机就是云服务器的意思&#xff0c;是京东云给自家云服务器取的名字&#xff0c;阿里云叫云服务器ECS&#xff0c;腾讯云叫云服务器CVM&#xff0c;京东云服务器叫云主机&#xff0c;京…