ZAFU_2021_1_26_2021寒假个人赛第二场题解

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

A题
原题链接:https://codeforces.com/problemset/problem/884/A
相关tag:施行

每天有86400秒,写了x秒的作业,还有86400-x秒可以练歌。(还是很想吐槽这个不需要睡觉的设定)
直接一天天的依次算过去,哪一天练得时间足够了就输出。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int main()
{
    IOS
    int n,t;cin>>n>>t;
    for(int i=1;i<=n;i++)
    {
        int x;cin>>x;
        t-=86400-x;
        if(t<=0) {cout<<i<<endl;break;}
    }
}

B题
原题链接:https://codeforces.com/problemset/problem/1006/A
相关tag:简单规律总结

很容易发现偶数只会经过1次变换,值-1。
而奇数会先+1,再在下一次操作中-1还原。

因此把输入的奇数原样输出,偶数-1输出即可。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int main()
{
    IOS
    int n;cin>>n;
    while(n--)
    {
        int a;cin>>a;
        if(a&1) cout<<a<<' ';
        else cout<<a-1<<' ';//CF对格式的要求不是非常严格,只有单行输出的时候,末尾空格和换行不做严格要求
        //除了cf的比赛外尤其正式比赛不要这么写,怎么规矩怎么来
    }
}

C题
原题链接:https://codeforces.com/problemset/problem/1216/A
相关tag:字符串

所有前缀偶数长度的区间里a和b出现的次数要相同。
容易用归纳法得到,如果下标i(下标从0开始)是奇数,那么s[i]和s[i-1]必定一个是a一个是b。

所以直接for一遍奇数下标位置,比较是否与前一个位置相同,如果相同的话就根据当前是什么字符对应去改变。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int main()
{
    IOS
    int n;cin>>n;
    string s;cin>>s;
    int ans=0;
    for(int i=0;i<n;i++)
    {
        if(i%2&&s[i]==s[i-1])
        {
            if(s[i]=='a') s[i-1]='b';
            else s[i-1]='a';
            ans++;
        }
    }
    cout<<ans<<endl;
    cout<<s<<endl;
}

D题
原题:LightOJ - 1138
相关tag:数学,二分,无穷级数,进制分解
(提供三种解法的思路和代码)

末尾有几个零,其实也就是最后的结果最多有几个10相乘,也就是分解质因子后最多有多少对2和5。
2的个数必定多于5的个数,因此我们只需要计算5的个数有多少个就是当前n!末尾有多少个0。

注意到随着n的增大,末尾0的个数也一直在增多,满足二分条件。

至于计算5的个数,
能整除5但不能整除25的,有1个5,需要被计算1次
能整除5和25但不能整除125的,有2个5,需要被计算2次
能整除5和25和125但不能整除625的,有3个5,需要被计算3次
…

n/5可以算出能整除5的有哪些,n/25可以算出整除25的有哪些…依次累加即可。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int cal(int x)
{
    int ret=0;
    while(x)//计算x!分解质因数后有多少个5
    {
        ret+=x/5;
        x/=5;
    }
    return ret;
}

int main()
{
    IOS;//使用之后不要混用cin和scanf printf
    int t;cin>>t;
    for(int CASE=1;CASE<=t;CASE++)
    {
        int m;cin>>m;
        int l=5,r=5e8;//右边界开一个足够大的就行了,直接5乘以最大的m的范围必够,不需要再多过脑子
        while(l<r)
        {
            int mid=(l+r)>>1;
            if(cal(mid)<m) l=mid+1;
            else r=mid;
        }
        cout<<"Case "<<CASE<<": ";
        if(cal(l)==m) cout<<l<<endl;
        else cout<<"impossible"<<endl;
    }
}

再就是使用无穷级数的优化方法,这种方法需要数学基础和数学敏感性。
我们需要枚举的实际上只有5×\times×x也就是5的倍数的值。我们可以枚举x,注意到最后要m个零。
可以利用无穷级数计算出0.8m×\times×(0.2)0+0.8m×\times×(0.2)1+0.8m×\times×(0.2)2+0.8m×\times×(0.2)3………<m,所以可以由此直接从0.8m开始暴力枚举去找对应的值。
由于无穷级数已经非常接近目标的m值,枚举时的次数会非常少。
在这里插入图片描述

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int cal(int x)
{
    int ret=0;
    while(x)//计算x!分解质因数后有多少个5
    {
        ret+=x/5;
        x/=5;
    }
    return ret;
}

int main()
{
    IOS;//使用之后不要混用cin和scanf printf
    int t;cin>>t;
    for(int CASE=1;CASE<=t;CASE++)
    {
        int m;cin>>m;
        cout<<"Case "<<CASE<<": ";
        int base=m*4/5;
        for(int i=base;i<=base+10;i++)
        {
            if(cal(i*5)>=m)
            {
                if(cal(i*5)==m) cout<<i*5<<endl;
                else cout<<"impossible"<<endl;
                break;
            }
        }
    }
}

再就是我们可以用类似进制分解的方法

实际上我们可以发现
n每增加1次5的倍数,但是不超过25的时候,0的个数加1
n每增加1次25的倍数,但是不超过125的时候,0的个数加1 ×\times× 5+1=6
n每增加1次125的倍数,但是不超过625的时候,0的个数加6 ×\times× 5+1=31
…

我们可以按照5的不同指数长度,也就是按照5进制把目标的n分割。
如果有某一项需要的系数超过4就代表不存在满足的n。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int t, n;
ll a[20],b[20];
//b[i]保存5^i的值是多少
//a[i]数组存储b[i]!分解质因数后有多少个5,实际上也是n的值每增加长度b[i]会增加的质因子5的个数

//特别注意此处每个区间b[i]的系数不可以超过4达到5以上,借此判定是否impossible

int main()
{
    IOS
    a[1]=1;
    b[1]=5;
    for (int i = 2; i <= 14; i ++ )
    {
        a[i]=a[i-1]*5+1;
        b[i]=b[i-1]*5;
    }
    cin>>t;
    for(int CASE=1;CASE<=t;CASE++)
    {
        cin>>n;
        ll ans=0;
        bool f=1;
        for (int i=13;i>=1;i--)
        {
            int sum = 0;
            while(n>=a[i])
            {
                n-=a[i];
                sum++;
            }
            if(sum>4) {f=0;break;}
            else ans+=sum*b[i];
        }
        cout<<"Case "<<CASE<<": ";
        if(f) cout<<ans<<endl;
        else cout<<"impossible"<<endl;
    }
}

E题
原题链接:https://codeforces.com/problemset/problem/510/B
相关tag:dfs

找图里有没有圈,可以使用dfs搜索来实现,用一个cas记录当前是第几次搜索,在第cas次搜索中搜索到的点都用cas标记。
单次搜索如果搜索回到了本次搜索之前搜索过了的位置,代表出现了圈。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

string field[57];//存图
int flag[57][57];//每个位置的标记,0代表未被搜索过,非0值代表其在第几次搜索被搜索过
bool f=0;//记录是否存在圈
int n,m,cas=0;//cas记录当前是第几次搜索

int dir[4][2]=//存储上下左右四个方向
{
    1,0,
    -1,0,
    0,1,
    0,-1
};

void dfs(int x,int y,int prex,int prey)//x,y为当前的行标列标,prex和prey为上一步的行标和列标
{
    flag[x][y]=cas;
    for(int i=0;i<4;i++)//朝四个方向走
    {
        int nextx=x+dir[i][0];//下一步的位置
        int nexty=y+dir[i][1];
        if((nextx!=prex||nexty!=prey)&&nextx>=0&&nextx<n&&nexty>=0&&nexty<m)
            //不能走回头路,且不可以走出地图外
        {
            if(field[nextx][nexty]==field[x][y])//字符要相同
            {
                if(!flag[nextx][nexty]) dfs(nextx,nexty,x,y);//如果是未被搜索过的点,继续执行搜索
                else if(flag[nextx][nexty]==flag[x][y]) f=1;//如果是已经被搜索过的点,且是当前这次搜索搜到的点,代表出现了圈
            }
        }
    }
}

int main()
{
    IOS
    cin>>n>>m;
    for(int i=0;i<n;i++) cin>>field[i];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            if(!flag[i][j])//如果发现未被搜索过的点,执行新的一次搜索
            {
                cas++;
                dfs(i,j,-1,-1);
            }
    if(f) cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
}

F题
原题:hdoj6794 (2020暑期多校第二场签到题…噩梦的多校难度)
相关tag:前缀和,dp思想

看代码吧,头太疼受不了了,思路过程就不写了,注释很详细。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
const int maxn=1e5+7;

int dp[maxn];//dp[i]记录前i个数字能组成的p最多有几个
int last[maxn];//last[i]记录前缀和对p取模,最后一次出现在哪个位置

int main()
{
    IOS
    int t;cin>>t;
    while(t--)
    {
        memset(dp,0,sizeof(dp));
        memset(last,-1,sizeof(last));//-1代表还未出现过
        last[0]=0;//一个数都不取和为0,在位置0出现
        int sum=0;
        int n,p;cin>>n>>p;
        for(int i=1;i<=n;i++)
        {
            int x;cin>>x;
            sum=(sum+x)%p;
            int pre=last[(sum+p)%p];//注意这是对p取模的结果,(sum+p)%p与sum的前缀和相差为p的整数倍
            if(pre!=-1) dp[i]=max(dp[i-1],dp[pre]+1);//如果pre出现过,有两种选择方案
            //一种是pre到当前i位置的所有数凑成一个p的整数倍,方案数为dp[pre]+1
            //另一种则是不组合成p的整数倍,继承i-1位置的情况
            else dp[i]=dp[i-1];
            last[sum]=i;//更新前缀和%p的最后一次出现位置
        }
        cout<<dp[n]<<endl;
    }
}

G题
原题链接:https://codeforces.com/problemset/problem/510/B
相关tag:数学

对于[x,[k/[k/x]]]这个区间的所有整数i,[k/i]的值都相等。
证明过程见《算法竞赛进阶指南》P141页最下面的部分

借助该结论实现O(t×\times×sqrt(n))复杂度的解法。

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int main()
{
    IOS
    int t;cin>>t;
    while(t--)
    {
        vector<int>ans;
        int n;cin>>n;
        ans.push_back(0);
        int now=n;
        while(now)
        {
            ans.push_back(n/now);
            now=n/(n/now+1);
        }
        cout<<ans.size()<<endl;
        for(int i=0;i<ans.size();i++)
        {
            if(i) cout<<' ';
            cout<<ans[i];
        }
        cout<<endl;
    }
}

H题
原题链接:https://codeforces.com/problemset/problem/1285/D
相关tag:分治,dfs

这道题的思路是分解成二进制后从最高位开始看,如果只出现0或者1的话那么答案的这一位就是0
如果又出现0又出现1点话,答案的这一位就是1,再根据0还是1分成两个部分去看下一位的情况,取这两个部分的最小值

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f //2139062143
#define llINF 9223372036854775807
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

vector<int>a;

int solve(vector<int>&b,int bit) //&重复利用数组a降低内存消耗,bit为当前正在判断的位数
{
    if(b.size()==0||bit<0) return 0;
    vector<int>l,r;
    for(int i=0;i<b.size();i++)
    {
        if(b[i]>>bit&1) l.push_back(b[i]); //和1进行与运算就能判断末尾是1还是0
        else r.push_back(b[i]);
    }
    if(l.size()==0) return solve(r,bit-1);
    if(r.size()==0) return solve(l,bit-1);
    return min(solve(l,bit-1),solve(r,bit-1))+(1<<bit);
}

int main()
{
    int n;
    scanf("%d",&n);
    a.resize(n);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    printf("%d\n",solve(a,30));     //最大数据没超过2^30
}
用 ADT 连接 SAP S/4HANA Public Cloud 开发租户的完整落地指南 摘要:在SAP S/4HANA公有云中进行ABAP开发时,必须使用Development Tenant(客户端080)而非Customizing Tenant(客户端100)连接ADT工具。开发用户需具备SAP_BR_DEVELOPER角色且写权限不受限,开发对象应创建在结构包的子包中。连接前需确认正确的ABAP服务URL(通常为Launchpad URL去掉"/ui"),并通过运行控制台程序验证全链路功能。典型开发场景如通过BAdI实现业务校验时,需遵循Clean Core原则在指定包 阅读详情

相关推荐

DDR5内存ODT模式全解析:5种状态与实战配置指南(附时序图)

本文深入解析DDR5内存的片上终端电阻(ODT)机制,详细阐述了其五种核心状态(终结电阻禁用、RTT_WR、RTT_NOM_RD、RTT_NOM_WR、RTT_PARK)的定义、切换时序与工作原理。通过解读JESD79-5规范中的时序图,并提供基于模式寄存器的实战配置指南与代码示例,帮助硬件工程师和系统开发者优化信号完整性,解决高负载下的稳定性问题,并实现性能与功耗的最佳平衡。

weixin_29221753的博客 563

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 217

【Qt】QML-01:使用QtCreator10创建QML工程,并讲解第一个程序:Hello World

QML第一讲:创建QML工程、详解QML第一个程序Hello World

郭老二 7795

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 314

【Arc GIS 零基础教学】土地利用类型图的绘制方法

​Hi,我是胡学长!今天教大家怎么利用Arc GIS 绘制土地利用类型图。土地利用类型图是表达土地资源的利用现状、地域差异和分类的专题地图。它是研究土地利用的重要工具和基础资料,同时也是土地利用调查研究的主要成果之一。在编制土地利用图的基础上,对当前利用的合理程度和存在的问题、进一步利用的潜力、合理利用的方向和途径,进行综合分析和评价。因此,土地利用图是调整土地利用结构,因地制宜进行农业、工矿业和交通布局、城镇建设、区域规划、国土整治、农业区划等的一项重要科学依据。......

一起来交流学习吧 1万+

深信服AC1000-B1200到手第一步:从开箱到激活上网的保姆级图文指南

本文提供深信服AC1000-B1200企业级行为管理设备的详细开局使用指南,涵盖从开箱验机、物理连接到网络配置、安全加固及设备激活的全流程。通过图文并茂的步骤解析,帮助用户快速完成设备初始化并实现安全上网,特别适合初次接触该设备的网络管理员参考。

weixin_42546392的博客 548

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 589

卫朋:IPD流程落地——产品计划阶段拆解

IPD计划阶段拆解

产品线负责人 957

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 20

SAP FAGLFLEXT 是 SAP 新总账的核心余额表,存储多维度的汇总余额数据。核心结论:该表按 “科目 + 会计年度 + 期间 + 维度” 存储累计余额,字段可分为基础标识

FAGLFLEXT是SAP新总账的核心余额表,采用"科目+年度+期间+维度"结构存储多维汇总数据。其字段分为基础标识(科目、年度等)、维度细分(公司代码、利润中心等15个维度)、金额数值(本外币余额)、辅助控制(状态标识)四大类,支持新总账的灵活核算。该表通过凭证自动更新,与旧总账GLT0相比显著扩展了维度核算能力,各维度需在科目主数据或Ledger配置中启用才能使用。

金牌架构师 454

045、镜头模组公差链分析:从 Lens 到 Sensor 的装配公差累积与良率优化

本文深入分析了镜头模组从镜片到传感器各环节的公差累积问题及优化策略。文章首先剖析了四级公差链(镜片单体、镜筒装配、VCM定位、传感器贴装)的误差传递机制,指出各环节典型公差值及其影响(如5微米镜片偏差可导致0.02度光线偏折)。其次对比了最坏情况法与均方根法的差异,强调需考虑公差相关性(如镜片曲率与镜筒间隙的正相关性)。最后提出良率优化"三板斧":通过蒙特卡洛仿真优化公差分配、采用主动对准工艺在线补偿、建立数据反馈闭环系统,并结合"阴阳脸"案例说明如何定位根因(模具磨损+贴片机老化导致的误差叠加)。作者总结

sundong_81的博客 59

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 750

(四)C++自制植物大战僵尸游戏启动流程

鼠标左键单机VS2022上方工具栏中进行项目启动。第一次启动项目需要编译项目中所有代码文件,编译生成需要一定的时间。不同性能的电脑需要消耗的时间差别可能较大,通常在几分钟到几十分钟之间。编译成功后会自动启动运行游戏。qi编译成功后自动启动运行游戏如下图。

尔灵尔亿的博客 2466

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 370

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

牛客周赛165C题(前后缀性质,递推,排序,枚举)

题目大意:给定长度为 `n` 的数组,选择 `k ∈ [1,n]`,将前 `k` 个元素整体翻转,后面的元素不变。要求操作后的整个数组非递减,统计满足条件的 `k` 的数量。题目链接:https://ac.nowcoder.com/acm/contest/141721/C。时间复杂度:O(nlogn)

2501_94316951的博客 171

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

408 算法 04|主元素与三元组最小距离:两种“扫描时做决定“的思路

2013(41) 的主元素用摩尔投票一遍选出候选,但真正的考点是"选完必须验票";2020(41) 的三元组最小距离,三指针每次只挪最小的那个,靠的是 D=2×(max−min) 这个恒等式。两套完整 C 代码加真实输出,附官方评分档位表。

m0_56226131的博客 409

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 85

算法61,判定是否为字符重排

两字符串能互为重排 ⇔。

sheshibenniaodan的博客 218

算法日常・每日刷题--<动态规划>32

给定严格递增的正整数数组,求最长斐波那契子序列长度。使用二维DP,dp[i][j]表示以arr[i]、arr[j]为最后两项的序列长度,初始化均为2。通过哈希表快速查找前一项target = arr[j] - arr[i],若存在且下标小于i,则状态转移:dp[i][j] = dp[k][i] + 1。遍历更新全局最大长度,最终若结果小于3则返回0。时间复杂度O(n²),空间复杂度O(n²)。

2503_92261635的博客 178

算法札记:几何分布在算法题UVA1262的运用

集卡问题求解核心:将集齐n种优惠券的过程分为n个阶段,每个阶段期望购买次数为 $ \frac{n}{k} $(k为剩余种类数),总期望为 $ n \cdot H_n $(调和数)。通过自洽方程推导单阶段期望,无需几何分布或无穷级数,逻辑清晰且适用于大一水平。例如,n=5时期望约11.42,非5。题目要求以带分数形式输出精确结果,算法上需累加分数并化简。

Keven_11的博客 351

SSL证书选RSA还是ECDSA:公钥算法、CA签名与兼容性怎么核对

申请SSL证书时,RSA和ECDSA该怎么选?先分清站点公钥算法、CA签名算法和TLS实际兼容性,再用隔离OpenSSL实验读取两类材料,核对申请、续期和部署交接,避免只看Signature Algorithm就选错。

谁呀!的博客 399

考拉兹猜想 - 7

本文通过引入虚数单位重构Collatz猜想的迭代逻辑,指出偶数减半与奇数“乘3加1”的过程在虚数坐标下等价于归结操作。关键在于:乘3加1使奇数跃升至偶数,随后持续减半,而虚数单位代表“无限减1”,实现无限向有限的转化。无论初始值如何,减半始终主导,最终归结为4-2-1循环。该视角消解了正向思维中的速度竞争疑虑,证明归结是必然结果。

杨铸人的博客 42

从曲线到储层:Techlog/KAPPA 全流程算法、UltraLAB 选型与本地 AI 部署实战

以高频 CPU 保证交互,以充足内存承载多井与多任务,以 NVMe 打通项目和知识库 I/O,再按本地模型、上下文与并发配置 GPU。对 UltraLAB 用户而言,更合理的采购方式是带着真实项目做选型:一组典型井、一套完整解释模板、一个目标大模型、一次多人并发测试。用实测结果确定配置,才能把预算转化为解释效率,而不是闲置算力。软件模块、操作系统与许可条件以厂商当前正式说明为准;硬件建议需结合项目实测。AI 输出只能作为辅助证据,不能替代岩石物理与油藏工程专业审核。

wdf8088的博客 181

贪心题目:可以到达的最远建筑

为了到达尽可能远的建筑物,在将砖块替换成梯子时,应将高度差最大位置的砖块替换成梯子,此时剩余的砖块数量最多,如果将高度差较小位置的砖块替换成梯子,则剩余的砖块数量较少,能到达的最远建筑物下标不可能更大。开始向后面的建筑物移动,移动过程中维护优先队列存储正高度差,优先队列的队首元素是最大元素,每次遇到正高度差时优先考虑使用砖块,如果砖块数量不够则使用梯子替换最大高度差位置的砖块,直到砖块和梯子都使用完毕时,到达的建筑物即为最远建筑物。如果以最佳方式使用给定的梯子和砖块,返回可以到达的最远建筑物的下标。

stormsunshine的博客 289

强化学习第十一课:完整 Q-Learning 算法

表示有:\[ 5 \]0 1 2 3 40:向左1:向右目标位置:\[ 4 \]

qq_56657939的博客 302

【Deep-OC-SORT 01】多轨迹算法Deep-OC-SORT源码分析

本工程基于Deep-OC-SORT核心模块,重构并适配了EmbeddingComputer(外观特征提取)、CMCComputer(相机运动补偿)与OCSort(主跟踪器)三类。前者实现整框/网格模式的特征提取与L2归一化;后者通过稀疏光流或SIFT匹配估计仿射变换,补偿相机运动;主跟踪器融合IoU、外观相似度与方向一致性,支持模块开关与自定义组件,实现高效多目标跟踪。

Jayson 博客 336

【Deep-OC-SORT 05】多轨迹算法Deep-OC-SORT-IoU代价与VDC方向一致性融合过程

本工程在DeepOcSort中实现三路融合关联:IoU(位置重叠)、VDC(速度方向一致性)与外观相似度,通过加权求和生成总相似度,取负作为匈牙利算法的代价。其中,VDC利用轨迹惯性方向与检测方向的点积判断运动一致性,抑制反向误匹配;外观分采用网格化余弦距离并结合动态权重AW,提升遮挡场景下的鲁棒性。支持关闭外观分支(--emb_off),且通过快路径优化加速多数帧处理。最终配对经IoU复核,确保位置合理性,有效减少密集场景下的ID切换。

Jayson 博客 336
上一篇: ZAFU_2021_1_24_2021寒假个人赛第一场题解
下一篇: ZAFU_2021_1_28_2021寒假个人赛第三场题解
StandNotAlone
博客等级 码龄7年 338粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值