7.17训练

A - Time Limit

题目
在这里插入图片描述
这题巨水

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (int i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 1e5 + 7;
const int M = 1e3+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
int a[N];
int main()
{
    int t;
    scanf("%d",&t);
    while (t--){
        int n;
        int x;
        scanf("%d",&n);
        rep(i,1,n)scanf("%d",&a[i]);
        x=3*a[1];
        rep(i,1,n){
            x=max(x,a[i]+1);
        }
        if(x&1)x++;
        printf("%d\n",x);
    }
    return 0;
}

B - Caesar Cipher

题目
在这里插入图片描述
加密是字母表右移或左移,显然这个时候字母表应该看成一个环,就在Z后面再来一遍字母表就行,然后就是查表得出答案。

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (int i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 1e5 + 7;
const int M = 1e2+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
int a[N];
char s1[M],s2[M],ch[M];
char alp[M]="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
int main()
{
    int t;
    int cnt=0;
    scanf("%d",&t);
    while (t--){
       int n,m;
       scanf("%d%d",&n,&m);
        scanf("%s%s",s1+1,s2+1);
        int x=s2[1]-s1[1];
        if(x<0)x+=26;
        scanf("%s",ch+1);
        rep(i,1,m){
            int y=ch[i]-'A';
            ch[i]=alp[y+26-x];
        }
        printf("Case #%d: %s\n",++cnt,ch+1);
    }
    return 0;
}

C - Fall Guys

题目

在这里插入图片描述
高中物理题?判断每个人到达时,皇冠的位置,然后计算取得它所额外需要的时间加上到达时间和延迟,然后排序即可。

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (int i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 2e5 + 7;
const int M = 1e2+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
struct node
{
    int a,c;
    bool operator<(const node&t1)const{
        if(a!=t1.a)return a<t1.a;
        else return c<t1.c;
    }
}E[N];
int b[N],d[N];
int main()
{
    int t;
    int cnt=0;
    scanf("%d",&t);
    while (t--){
        int n,h,H;
        scanf("%d%d%d",&n,&h,&H);
        rep(i,1,n){
            scanf("%d",&b[i]);
            E[i].c=i;
            if(1&b[i]/H){
                int tt=b[i]%H;
                if(H-tt>h)E[i].a=H-tt-h+b[i];
                else E[i].a=b[i];
            }else{
                int tt=b[i]%H;
                if(tt>h)E[i].a=H-tt+H-h+b[i];
                else E[i].a=b[i];
            }
        }
        rep(i,1,n){
            scanf("%d",&d[i]);
            E[i].a+=d[i];
        }
        sort(E+1,E+1+n);
        printf("%d\n",E[1].c);
    }
    return 0;
}

D-Function

题目
在这里插入图片描述
先递归,发现与上次递归答案相同时退出递归,用乘法得出答案。

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (ll i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 2e5 + 7;
const int M = 1e2+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
ll f(ll n)
{
    if(n==0)return 0;
    ll ans=1;
    ll p=n+1;
    ll x=n;
    ll temp=1;
    while (x){
        temp*=10;
        ans*=n%temp;
        ans%=p;
        x/=10;
    }
    return ans%p;
}
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(NULL);
    int t;
    scanf("%d",&t);
    while (t--){
        ll n,m;
        scanf("%lld%lld",&n,&m);
        ll sum=0;
        ll temp=0;
        ll j=-1;
        rep(i,1,m){
            if(i==1)temp= f(n);
            else {
                if (temp == f(temp)) {
                    j = i;
                    break;
                }
            }
            sum+=temp;
            temp= f(temp);
        }
        if(j!=-1)
        sum+=(m-j+1)*temp;
        if(m==0)sum=0;
        printf("%lld\n",sum);
    }
    return 0;
}

E - PepperLa’s Cram School

题目
在这里插入图片描述
就看最小非0元素出现次数就行,刚开始我默认是1然后wa傻了。

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (ll i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 1e3 + 7;
const int M = 1e5+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
int dis[N][N];
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    while (~scanf("%d",&n)){
        int sum=0;
        int mi=inf;
        rep(i,1,n){
            rep(j,1,n){
                scanf("%d",&dis[i][j]);
                if(dis[i][j]!=0)
                mi= min(mi,dis[i][j]);
            }
        }
        rep(i,1,n){
            rep(j,1,n){
                if(dis[i][j]==mi)sum++;
            }
        }
        printf("%d\n",sum/2);
    }
    return 0;
}

F - Halli Galli

题目
在这里插入图片描述
每局只发一张牌,用个map记录一下每局的情况就好了。

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (ll i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 2e5 + 7;
const int M = 1e2+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
struct node
{
    char card='Z';
    int num=0;
}peo[10];
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(NULL);
    int t;
    scanf("%d",&t);
    while (t--){
        int n,k;
        int ans=0;
        scanf("%d%d",&k,&n);
        map<char,int>mp;
        for(int i=1;i<=10;i++){
            peo[i].card='Z';
            peo[i].num=0;
        }
        rep(i,1,k){
            int j=i%n;
            if (j==0)j=n;
            getchar();
            scanf("%c %d",&peo[j].card,&peo[j].num);
            mp.clear();
            rep(l,1,n){
                mp[peo[l].card]+=peo[l].num;
            }
            if(mp['A']==5)ans++;
            if(mp['B']==5)ans++;
            if(mp['G']==5)ans++;
            if(mp['P']==5)ans++;
        }
        printf("%d\n",ans);
    }
    return 0;
}

G - Color the blocks

在这里插入图片描述
找规律,第j列和j+2列相同,第j列要么是黑白相间要么全黑全白.n>=4时,j和j+1列不同,此时只有4种,所特判n<4。

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (ll i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 1e3 + 7;
const int M = 3e5+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
ll d[N][N];
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(NULL);
    int t;
    scanf("%d",&t);
    while (t--){
        int n;
        scanf("%d",&n);
        if(n==1)puts("2");
        else if(n==2)puts("16");
        else if(n==3)puts("32");
        else puts("4");
    }
    return 0;
}

H - August

还不会。

I - Goodbye

在这里插入图片描述
要让自己不能选出除1,n’之外的因数,那么n’为质数,所以找到最初的n的最大的两个质因数就是答案,找不到时再判断n是否为质数。

#include <iostream>
#include <cstring>
#include <cmath>
#include <bitset>
#include <queue>
#include <vector>
#include <cstdio>
#include <queue>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#define rep(i, a, b) for (ll i = a; i <= b; i++)
#define reps(i, a, b) for (int i = a; i >= b; i--)
#define mk make_pair
using namespace std;
const int N = 1e5 + 7;
const int M = 1e5+ 7;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
typedef long long ll;
bool vis[N];
int prime[M];
int cnt=0;
int num[M];
void create(int n) {
    for (int i = 2; i <= n; i++) {
        if (!vis[i])
            prime[++cnt] = i;
        for (int j = 1; j <= cnt; j++) {
            if (i * prime[j] > n)
                break;
            vis[i * prime[j]] = true;
            if (i % prime[j] == 0)
                break;
        }
    }
}
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(NULL);
    int t;
    scanf("%d",&t);
    create(1e5);

    while (t--){
        memset(num,0,sizeof num);
        int n;
        int k=0;
        scanf("%d",&n);
        for(int i=1;prime[i]*prime[i]<=n;i++){
            while (n%prime[i]==0)
            {
                n/=prime[i];
                num[++k]=prime[i];
            }
        }
        if(n>1)num[++k]=n;
        if(k==1)puts("0");//等于1说明自身是质数。
        else if(k==2)puts("-1");
        else{
            printf("%d\n",num[k]*num[k-1]);
        }
    }
    return 0;
}
内容概要:本文详细介绍了基于滑模控制(SMC)和H∞控制相结合的方法应用于永磁直线同步电机(PMLSM)的鲁棒控制。首先阐述了PMLSM的基本数学模型及其物理意义,包括d-q坐标系下的电压方程和运动方程。随后解释了滑模控制的工作原理,重点在于如何构建滑模面并确保系统沿此面稳定运行。接着讨论了H∞控制的目标——即使在不确定条件下也能保持良好的性能表现。文中还提供了具体的Matlab代码实例,展示了如何利用Matlab控制系统工具箱进行H∞控制器的设计。最后给出了一段完整的Matlab程序框架,演示了两种控制方法的具体实现方式。 适合人群:从事电机控制领域的研究人员和技术人员,尤其是那些想要深入了解滑模控制和H∞控制理论及其在实际工程中应用的人士。 使用场景及目标:适用于需要提高永磁直线同步电机控制系统抗干扰能力和鲁棒性的场合,如工业自动化生产线、精密加工设备等。通过学习本篇文章提供的理论知识和编程技巧,读者能够掌握这两种先进控制策略的应用方法,从而提升自身解决复杂控制问题的能力。 其他说明:文中所涉及的内容不仅限于理论讲解,还包括了大量的实战经验分享,有助于读者快速上手并在实践中不断改进自己的设计方案。同时鼓励读者积极尝试不同的参数配置,以便找到最适合特定应用场景的最佳解决方案。
### Postman Version 7.17 特性和下载 Postman 是一种广泛使用的 API 开发工具,其版本更新通常伴随着新特性的引入以及现有功能的改进。关于 Postman 的具体版本特性描述和下载链接,以下是基于已有信息整理的内容。 #### 功能特性概述 Postman 7.17 版本主要集中在用户体验提升、性能优化以及开发者工作流的支持上[^1]。此版本可能包含但不限于以下几个方面的增强: - **UI/UX 改进**: 对用户界面进行了微调,使得导航更加直观,操作更加快捷。 - **API 文档生成器升级**: 提供了更为灵活的方式来自动生成文档,并支持更多自定义选项。 - **团队协作能力加强**: 增强了实时协作的功能,允许更多的成员在同一时间编辑同一个集合或环境变量设置。 - **安全性强化**: 加入了一些新的安全机制来保护敏感数据不被意外泄露。 需要注意的是,上述提到的部分或者全部改动可能是推测性质的结果,因为官方并未明确指出这些细节属于哪个特定的小版本范围内的变更记录。 #### 下载地址 对于希望获取旧版软件副本(如 v7.17)的情况来说,建议访问官方网站的历史发行页面寻找对应的安装包文件。然而由于隐私政策调整或其他原因,某些较老版本或许不再提供公开直链形式下的直接下载服务。如果无法通过常规渠道找到目标二进制程序,则可以尝试联系技术支持部门请求帮助定位资源位置。 另外值得注意的一点是,在考虑降级到早期构建之前,请务必确认当前所依赖的服务端接口兼容性情况;否则可能导致不可预见的技术难题发生风险增加。 ```bash # 如果需要手动编译源码以获得指定历史标签上的可执行产物, # 可参考如下命令克隆仓库并检出至对应 commit hash 或 tag name 处: git clone https://github.com/postmanlabs/postman-app.git cd postman-app git checkout tags/v7.17 -b release-v7.17 npm install && npm run build ``` 以上脚本仅作为理论指导用途展示如何从源头重建应用程序实例的方法之一,并不代表实际可行路径始终有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值