【小米oj】 跳跳看

 1 #define mm(a) memset(a,0,sizeof(a));
 2 #define max(x,y) (x)>(y)?(x):(y)
 3 #define min(x,y) (x)<(y)?(x):(y)
 4 #define Fopen freopen("1.in","r",stdin); freopen("m.out","w",stdout);
 5 #define rep(i,a,b) for(int i=(a);i<=(b);i++)
 6 #define per(i,b,a) for(int i=(b);i>=(a);i--)
 7 #include<bits/stdc++.h>
 8 typedef long long ll;
 9 #define PII pair<ll,ll>
10 using namespace std;
11 const int INF=0x3f3f3f3f;
12 const int MAXN=(int)2e5 + 5;
13 const ll mod=1e9+7;
14 
15 
16 string input,temp;
17 vector<int>v;
18 map<int,int>mp;
19 int n,dp[MAXN],m,x;
20 int main() {
21     memset(dp,INF,sizeof(dp));
22     v.push_back(0);
23     while(~scanf("%d",&x))v.push_back(x);
24     dp[1]=0;
25     n=v.size()-1;
26     for(int i=1; i<=n; i++) {
27         if(dp[i]==INF)continue;
28         for(int j=1; j<=v[i]&&i+j<=n; j++) {
29             dp[i+j]=min(dp[i+j],dp[i]+1);
30         }
31     }
32     if(dp[n]==INF)printf("-1\n");
33     else printf("%d\n",dp[n]);
34     return 0;
35 }

 

转载于:https://www.cnblogs.com/dogenya/p/10815699.html

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研员及电力行业技术员,尤其适合从事配电网规划、运行与可靠性分析相关工作的员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
杭电OJ(HDOJ)查看自己错误原因通常有以下几种方式: ### 结果反馈页面 提交代码后,系统会立即给出一个反馈结果,在结果列表中点击自己提交记录的链接,进入详情页面。这里会显示具体的反馈信息,如“Compilation Error”(编译错误)、“Runtime Error”(运行时错误)、“Wrong Answer”(答案错误)、“Time Limit Exceeded”(超时)等。如果是编译错误,还会显示详细的编译器报错信息,帮助定位代码中语法错误的位置和原因。 ### 输出文件对比 对于“Wrong Answer”这种情况,虽然系统不会直接给出正确答案,但可以利用杭电OJ提供的测试用例(如果有公开的测试用例),将自己代码的输出和预期输出进行对比。可以手动编写测试代码,将测试用例输入到自己的程序中,然后把输出保存到文件,再和已知的正确输出文件进行逐行比对,找出差异。以下是一个简单的Python脚本示例,用于比较两个文件内容: ```python def compare_files(file1, file2): with open(file1, 'r') as f1, open(file2, 'r') as f2: lines1 = f1.readlines() lines2 = f2.readlines() if len(lines1) != len(lines2): print("行数不同") return for i in range(len(lines1)): if lines1[i].strip() != lines2[i].strip(): print(f"第 {i+1} 行不同:") print(f"你的输出: {lines1[i].strip()}") print(f"正确输出: {lines2[i].strip()}") # 使用示例 compare_files('your_output.txt', 'correct_output.txt') ``` ### 社区交流 可以到杭电OJ的讨论区、相关的技术论坛或者专门的杭电OJ交流群中,和其他参与者交流。在这些地方可以询问自己遇到的问题,分享自己的代码和错误情况,可能会得到其他有经验的的帮助和建议,从而找到错误原因。 ### 代码审查 重新仔细审查自己的代码,检查算法逻辑是否正确,边界条件是否考虑周全,数据类型是否匹配等。可以尝试添加一些调试信息,输出关键变量的值,以验证代码在运行过程中的状态是否符合预期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值