金山西山居初赛第二场

python实现ECMS算法 ECMS(Equivalent Consumption Minimization Strategy)算法是一种用于混合动力汽车能量管理系统的优化策略。它通过计算等效油耗来平衡电池电量消耗和燃油消耗,从而优化整体能耗。以下是一个简单的Python实现,用于演示ECMS算法的基本思想。这个实现假设了一个简单的混合动力汽车模型,其中电池电量和燃油消耗是主要的优化目标。 阅读详情

http://acm.hdu.edu.cn/showproblem.php?pid=4548

hdu4548 美素数

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 0    Accepted Submission(s): 0


Problem Description
  
  小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识。   问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如29,本身是素数,而且2+9 = 11也是素数,所以它是美素数。   给定一个区间,你能计算出这个区间内有多少个美素数吗?
 

Input
  
第一行输入一个正整数T,表示总共有T组数据(T <= 10000)。 接下来共T行,每行输入两个整数L,R(1<= L <= R <= 1000000),表示区间的左值和右值。
 

Output
  
对于每组数据,先输出Case数,然后输出区间内美素数的个数(包括端点值L,R)。 每组数据占一行,具体输出格式参见样例。
 

Sample Input
  
3 1 100 2 2 3 19
 

Sample Output
  
Case #1: 14 Case #2: 1 Case #3: 4
 

分析:筛素数
#include<cstdio>
const int N=1000001;
int cnt[N];
bool f[N];
void get_prime(int n){
    int i,j,cnt=0;
    f[0]=1,f[1]=1;
    for(i=2;i*i<n;i++){
        if(f[i])continue;
        for(j=i+i;j<n;j+=i)f[j]=1;
    }
}
bool cal(int x){
    int res=0;
    while(x)res+=(x%10),x/=10;
    return !f[res];
}
int main(){
    int n,T,i,ca=1,l,r,k=0;
    get_prime(N);
    cnt[0]=0;
    for(i=1;i<N;i++){
        if(!f[i]&&cal(i))k++;
        cnt[i]=k;
    }
    scanf("%d",&T);
    while(T--){
        scanf("%d%d",&l,&r);
        printf("Case #%d: %d\n",ca++,cnt[r]-cnt[l-1]);
    }
    return 0;
}

http://acm.hdu.edu.cn/showproblem.php?pid=4549

hdu4549 M斐波那契数列

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 21    Accepted Submission(s): 4


Problem Description
M斐波那契数列F[n]是一种整数数列,它的定义如下:

F[0] = a
F[1] = b
F[n] = F[n-1] * F[n-2] ( n > 1 )

现在给出a, b, n,你能求出F[n]的值吗?
 

Input
输入包含多组测试数据;
每组数据占一行,包含3个整数a, b, n( 0 <= a, b, n <= 10^9 )
 

Output
对每组测试数据请输出一个整数F[n],由于F[n]可能很大,你只需输出F[n]对1000000007取模后的值即可,每组数据输出一行。
 

Sample Input
   
0 1 0 6 10 2
 

Sample Output
   
0 60
 

分析:同hdu3221

由题目意思可知:f[n]=f[n-1]*f[n-2];
f的前面几项可以罗列出来:


a^1*b^0,a^0*b^1,a^1*b^1,a^1*b^2,a^2*b^3....

可以发现a的指数和b的指数均类似于斐波那契数列。
用矩阵的快速幂可以很快的求出第n项a和b的指数分别是多少。
但是这个指数会非常大,存不下来,需要对一个数去模。
这里需要用到一个公式:


A^B%C=A^( B%Phi[C] + Phi[C] )%C   (B>=Phi[C])


Phi[C]表示不大于C的数中与C互质的数的个数,可以用欧拉函数来求:
找到C的所有素因子。

Phi[C]=C*(1-1/q1)*(1-1/q2)*(1-1/q3)*....*(1-1-qk);

这是对C为一般数的求法,这题C是素数,据说有结论

#include<cstdio>
#include<cmath>
#define ll __int64
const ll p=1000000007;
ll a,b,n;
struct Matrix{
	ll v[2][2];
};
Matrix A={1,1,1,0},B={1,0,0,1};
ll euler(ll x){
	ll i,ans=x,t=(ll)sqrt(x*10.0);
	for(i=2;i<=t;i++)if(x%i==0){
		ans=ans/i*(i-1);
		while(x%i==0)x/=i;
	}
	if(x>1)ans=ans/x*(x-1);
	return ans;
}
ll quickpow(ll x,ll n){
	ll ans=1;
	while(n){
		if(n&1)ans=ans*x%p;
		n>>=1;
		x=x*x%p;
	}
	return ans;
}
Matrix mul(Matrix m1,Matrix m2,ll M){
	int i,j,k;
	Matrix c;
	for(i=0;i<2;i++)for(j=0;j<2;j++){
		c.v[i][j]=0;
		for(k=0;k<2;k++)c.v[i][j]+=(m1.v[i][k]*m2.v[k][j])%M;
		c.v[i][j]%=M;
	}
	return c;
}
Matrix Mpow(int n,ll M){
	Matrix x=A,c=B;
	while(n>=1){
		if(n&1)c=mul(c,x,M);
		n>>=1;
		x=mul(x,x,M);
	}
	return c;
}
int main(){
	int i;
	Matrix res,C;
	while(~scanf("%I64d%I64d%I64d",&a,&b,&n)){
		if(n==0){printf("%I64d\n",a);continue;}
		if(n==1){printf("%I64d\n",b);continue;}
		Matrix res=Mpow(n-2,p-1);
		C=mul(res,A,p-1);
		printf("%I64d\n",(quickpow(a,res.v[0][0])*quickpow(b,C.v[0][0]))%p);
	}
	return 0;
}

http://acm.hdu.edu.cn/showproblem.php?pid=4550

hdu4550 卡片游戏

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 57    Accepted Submission(s): 14


Problem Description
  小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范围是0~9,游戏规则如下:
  首先取最上方的卡片放到桌子上,然后每次取最上方的卡片,放到桌子上已有卡片序列的最右边或者最左边。当N张卡片全部都放到桌子上后,桌子上的N张卡片构成了一个数。这个数不能有前导0,也就是说最左边的卡片上的数字不能是0。游戏的目标是使这个数最小。
  现在你的任务是帮小明写段程序,求出这个最小数。
 

Input
第一行是一个数T,表示有T组测试数据;
然后下面有T行, 每行是一个只含有0~9的字符串,表示N张叠在一起的卡片,最左边的数字表示最上方的卡片。

[Technical Specification]
T<=1000
1 <= N <= 100
 

Output
对于每组测试数据,请在一行内输出能得到的最小数。
 

Sample Input
  
3 565 9876543210 9876105432
 

Sample Output
  
556 1234567890 1678905432
 

分析:只要确定好第一个位置即可(原串中最后一个最小的非0数的位置)

#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
char s[101];
int main(){
    int n,T,i,j,c0,mi,p;
    char l;
    string ans;
    scanf("%d",&T);
    while(T--){
        c0=0;
        scanf("%s",s);
        j=0;mi='9';p=i;
        for(i=strlen(s)-1;i>=0;i--)if(s[i]!='0'){
            if(mi>s[i])mi=s[i],p=i;
        }
        ans=s[0];l=s[0];
        for(i=1;s[i];i++){
            if(i==p){ans=s[i]+ans;continue;}
            if(s[i]<=l&&i<p){
                l=s[i],ans=s[i]+ans;
            }else ans+=s[i];
        }
        puts(ans.c_str());
    }
    return 0;
}


别再只怪贴片厂了!从MLCC内部裂纹,看懂物料质量与工艺应力的博弈 本文深入分析了MLCC内部裂纹的失效原因,提供了从裂纹形态学到生产全流程的失效风险地图的完整分析框架。通过实战案例和检测技术组合,帮助工程师精准锁定MLCC失效背后的真凶,优化物料质量和工艺应力管理。 阅读详情

相关推荐

基于多时间尺度的电动汽车光伏充电站联合分层优化调度(Matlab代码实现)

该研究提出了一种电动汽车光伏充电站的分层优化调度方法,采用日前-日内两阶段协同优化框架。日前阶段通过混合整数规划对多充电站进行全局优化,以平抑电网波动和降低购电成本为目标;日内阶段基于实时数据,采用NSGA-II等算法动态分配充电功率。该方法实现了光伏高效消纳、成本节约和电网负荷平衡的有效统一。

zhangxd212489的博客 519

金山西山居初赛第二场 美素数

美素数 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description   小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今...

weixin_30302609的博客 127

基于STM32的PID恒温恒湿控制系统 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了基于双路PID算法的恒温恒湿闭环控制系统,覆盖高精度温湿度采集、双模式控制、参数在线配置、异常安全保护、掉电记忆等全功能,全程采用无跳步保姆式教学,从硬件选型、接线、CubeMX配置、代码开发、调试排坑全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 346

2013金山西山居创意游戏程序挑战赛——初赛(2)

2013金山西山居创意游戏程序挑战赛——初赛(2)

GROWING 714

红米12C刷机避坑指南:NV数据损坏的修复与系统版本选择

本文提供了红米12C刷机过程中避免NV数据损坏的详细指南,涵盖系统版本选择、SP刷机工具使用和fastboot命令修复。重点分析了NV数据损坏的原因与表现,并给出通过工程固件和深度修复技巧解决基带未知、IMEI丢失等问题的实操方案,帮助用户安全完成刷机。

cuda7parallel的博客 1075

Hcaptcha验证码的‘免浏览器’破解思路:协议分析与N值算法逆向

本文深入解析Hcaptcha验证码的‘免浏览器’破解思路,通过协议分析与N值算法逆向,实现高效自动识别。文章详细拆解Hcaptcha的API交互流程,揭示关键参数`req`和`n`的生成机制,并提供轻量级实现方案,显著降低资源消耗,适用于大规模数据采集等场景。

weixin_30838873的博客 535

2013金山西山居创意游戏程序挑战赛——初赛(3)

2013金山西山居创意游戏程序挑战赛——初赛(3)

GROWING 762

基于Dify1.9知识库流水线模板的思考——图像和表格数据处理

本文探讨了Dify1.9知识库流水线中LLM节点对文档图像/表格增强处理的优化方案。针对当前仅在内容后追加说明的简单做法,提出了结构化标注的改进方法:通过唯一ID和注释块标记图像/表格及其描述,确保内容可精准对齐。文章详细阐述了该方案的解析处理流程、数据结构化表示方法,以及在RAG检索和文档还原中的具体应用。关键经验包括:必须结构化标注非文本内容、LLM增强的必要性、语义向量化处理等。该方案解决了原始方法在内容重排、相似元素区分和检索精度等方面的问题。

roseey的专栏 1437

2013金山西山居创意游戏程序挑战赛——初赛(4)

2013金山西山居创意游戏程序挑战赛——初赛(4)

GROWING 775

Serial RapidIO Gen2 IP 说明(三)

前言 继续接着上篇文章,介绍Serial RapidIO Gen2 IP 的具体端口信息。 一、端口描述 1、缓冲设计接口 2、物理层接口 参考说明 【1】Serial RapidIO Gen2 v4.1https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/srio_gen2/v4_1/pg007_srio_gen2.pdf ...

记录所学,分享知识,结识挚友 1321

【Envi风暴】Envi5.6安装图文教程(附Envi5.6完整版下载)

【Envi风暴】Envi5.6与应用商店app store安装图文教程(附Envi5.6完整版下载)从文末网盘下载完整的ENVI5.6安装包,如下所示:双击envi56-win.exe,开始安装。将f__x64下的两个补丁文件拷贝到安装路径。将f__x86下的两个补丁文件拷贝到安装路径。

智慧空间实验室 9204

2013金山西山居创意游戏程序挑战赛——初赛(1)

点击打开链接

GROWING 680

mjlab 入门教程(一)MuJoCo 人形机器人强化学习训练 sim-to-real 部署框架

摘要:mjlab是一个结合IsaacLab API与MuJoCo简洁性的GPU加速机器人仿真框架,专为强化学习和机器人研究设计。它提供快速安装(支持uv、pip、conda和Docker)、核心功能(域随机化、NaN守护、观测历史/延迟、执行器/传感器系统)以及从IsaacLab的迁移指南。相比IsaacLab,mjlab更轻量、启动更快,直接构建在MuJoCo Warp上,避免了Omniverse开销。其哲学强调裸机性能、开发者体验和核心领域专注,适合需要快速迭代和直接MuJoCo控制的用户,而Isaac

2506_90492529的博客 2726

2013金山西山居创意游戏程序挑战赛——初赛(1)题解

刚水了这场比赛:2013金山西山居创意游戏程序挑战赛——初赛(1)。 简要题解如下: 1001 魔法串: 问第二个串能不能变成第一个串。 显然的DP问题。dp[i][j]表示第二串前j个变成第一串前i个是否可行。 转移就是 if (dp[i][j-1]==1) dp[i][j]=1; if (dp[i-1][j-1]==1&&g[t[j]][s[i]]==1){dp[i][j]=1;

Necs的小窝 1065

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ACM之金山西山居创意游戏程序挑战赛-初赛

生日猜猜猜 Problem Description 小明对生日十分看重,因为他可以得到祝福,可以和朋友亲人一起分享快乐,可以为自己的人生做一次总结,并且...能够收到好多礼物! 不过小明是个神秘的人,不会轻易告诉你他的生日,现在他想到一个办法,让你去猜他的生日是哪一天。 小明会告诉你如下三个信息: 1. 出生月份和出生日子的最大公约数; 2. 出生月份和出生日子的最小公倍数;

Magicandangle的专栏 857

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

金山西山居初赛第三场

http://acm.hdu.edu.cn/showproblem.php?pid=4551 hdu4551 生日猜猜猜 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 224    Accepted Submissio

libing923的专栏 2179

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

2013金山西山居创意游戏程序挑战赛——初赛(1) A 魔法串

小明和他的好朋友小西在玩一个新的游戏,由小西给出一个由小写字母构成的字符串,小明给出另一个比小西更长的字符串,也由小写字母组成,如果能通过魔法转换使小明的串和小西的变成同一个,那么他们两个人都会很开心。这里魔法指的是小明的串可以任意删掉某个字符,或者把某些字符对照字符变化表变化。如:     小西的串是 abba;     小明的串是 addba;     字符变化表 d b (表示d能转

程序员的冷浪漫 1860

金山西山居初赛第四场

http://acm.hdu.edu.cn/showproblem.php?pid=4554 hdu4554 叛逆的小明 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 77    Accepted Submission(s

libing923的专栏 1672

金山西山居2013程序挑战赛初赛 第三题

Problem Description     在Windows下我们可以通过cmd运行DOS的部分功能,其中CD是一条很有意思的命令,通过CD操作,我们可以改变当前目录。   这里我们简化一下问题,假设只有一个根目录,CD操作也只有两种方式:      1. CD 当前目录名\...\目标目录名 (中间可以包含若干目录,保证目标目录通过绝对路径可达)   2. CD .. (返回当前

Maverick 1219

金山西山居2013程序挑战赛初赛 第一题

Problem Description   小明和他的好朋友小西在玩一个新的游戏,由小西给出一个由小写字母构成的字符串,小明给出另一个比小西更长的字符串,也由小写字母组成,如果能通过魔法转换使小明的串和小西的变成同一个,那么他们两个人都会很开心。这里魔法指的是小明的串可以任意删掉某个字符,或者把某些字符对照字符变化表变化。如:     小西的串是 abba;     小明的串是 ad

Maverick 1182

金山西山居初赛第一场

http://acm.hdu.edu.cn/showproblem.php?pid=4545 hdu 4545 魔法串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 237    Accepted Submission(s): 9

libing923的专栏 1016

金山西山居初赛第三场 HDU 4551~HDU 4553

第一个题就不说了,注意闰年的2月29。 1 #include <map> 2 #include <set> 3 #include <list> 4 #include <queue> 5 #include <stack> 6 #include <cmath> 7 #include &...

135

2013金山西山居创意游戏程序挑战赛——初赛(1) 魔法串

2013金山西山居创意游戏程序挑战赛——初赛(1) 魔法串  题目:http://acm.hdu.edu.cn/showproblem.php?pid=4545 题目: Problem Description   小明和他的好朋友小西在玩一个新的游戏,由小西给出一个由小写字母构成的字符串,小明给出另一个比小西更长的字符串,也由小写字母组成,如果能通过魔法转换使小明的串和小西的变成同一个

ChampionLai 1153

HDU 4547 CD操作 2013金山西山居创意游戏程序挑战赛——初赛(1)

CD操作 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 458    Accepted Submission(s): 126 Problem Description   在Windows下我们可以通过cmd运行DOS的

pangbolike的专栏 760
上一篇: 金山西山居初赛第一场
下一篇: hdu 3221 Brute-force Algorithm
libing923
博客等级 码龄15年 12粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值