【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划

本文解析了NOIP2015模拟赛中一道关于题目提交与状态跟踪的问题,通过使用暴力算法和哈希表来记录题目状态,详细介绍了如何处理三种类型的操作:提交正确代码、提交错误代码以及查询未解决题目。

【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划

题目

在这里插入图片描述
在这里插入图片描述

题解

题意
nnn道题,编号为1~nnn
给出mmm次操作
每次操作有3种类型
1 xxx 表示交了ACACAC的代码在编号为xxx的题
2 xxx表示交了没有ACACAC的代码在编号为xxx的题
3 表示询问当前做过的题目中从来没有ACACAC的题,晚交的先输出
对于每个3询问,输出前20个
分析
既然mmm只有100
那为什么不打暴力呢
对于每种操作
是1的话给题目打个ACACAC标记
是2的话放入未ACACAC数组,注意我们不在意之前是否ACACAC
对于3,查找未ACACAC数组中的没有打过ACACAC标记的题目,并判断是否输出过,注意只输出前20个即可
(考试的时候没看见,30没了)
其实可以离散化也可以不离散化,看你的ACACAC标记怎么打,像我的话就是给编号打标记

Code

#include<cstdio>
#include<cstring>
using namespace std;
int m,i,d,now,num,tot,p[105];
long long n,x,hash[10010];
bool b[10010],bj[10010];
int HASH(long long x)
{
    int pos;
    pos=x%10007;
    while (hash[pos]!=0)
    {
        if (hash[pos]==x) return pos;
        pos++;
        if (pos==10007) pos=0;
    }
    hash[pos]=x;
    return pos;
}
int main()
{
    freopen("problem.in","r",stdin);
    freopen("problem.out","w",stdout);
    scanf("%lld%d",&n,&m);
    while (m--)
    {
        scanf("%d",&d);
        if (d==1) 
        {
            scanf("%lld",&x);
            now=HASH(x);
            b[now]=true;
        }
        if (d==2)
        {
            scanf("%lld",&x);
            now=HASH(x);
            if (b[now]==false)
            {
                num++;
                p[num]=now;
            }
        }
        if (d==3)
        {
            memset(bj,false,sizeof(bj));
            tot=0;
            for (i=num;i;i--)
            {
                if (b[p[i]]==false&&bj[p[i]]==false)
                {
                    printf("%lld ",hash[p[i]]);
                    bj[p[i]]=true;
                    tot++;
                }
                if (tot==20) break;
            }
            printf("\n");
        }
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}
内容概要:本文提出了一种基于“空调-电动汽车”联合虚拟储能的海岛微电网优化调度方法,旨在解决海岛地区能源供给不稳定及可再生能源波动性大的挑战。通过综合利用空调负荷的热惰性与电动汽车的灵活充放电能力,构建联合虚拟储能系统,有效提升微电网对风电、光伏等间歇性电源的消纳能力,并增强系统的调节灵活性和运行经济性。研究建立了涵盖发电侧、负荷侧与储能侧协同互动的多目标优化调度模型,综合考虑用户舒适度、出行需求、设备运行约束等因素,采用Matlab进行仿真验证,实现了系统运行成本降低、弃风弃光减少以及能源利用效率提升的目标。该方法充分挖掘了需求侧资源的潜在储能价值,为偏远地区独立微电网的安全、低碳、经济运行提供了有效的技术路径。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事微电网、综合能源系统、虚拟储能或需求侧响应相关研究的研究生及科研人员。; 使用场景及目标:①应用于海岛、偏远地区等独立微电网的优化调度设计;②研究如何利用温控负荷与电动汽车协同提供虚拟储能服务;③实现可再生能源高比例消纳与系统经济性运行的平衡; 阅读建议:建议结合Matlab代码深入理解模型构建细节,重点关注目标函数设定、约束条件处理以及空调与电动汽车建模方法,可进一步拓展至多时间尺度调度或引入不确定性因素进行改进研究。
内容概要:本文围绕“基于多维核密度估计的光伏-负荷场景生成方法”展开研究,提出利用多维核密度估计技术对光伏发电与电力负荷的不确定性进行建模,生成高精度、高还原度的典型运行场景。该方法能够有效捕捉光伏出力与负荷需求之间的时空相关性及时变特性,克服传统场景生成方法中对数据分布假设过强、忽略变量间依赖关系等局限性。研究通过Matlab编程实现了完整的场景生成流程,涵盖数据预处理、多维核密度估计建模、随机场景抽样及场景削减等关键环节,并结合实测数据验证了所提方法在提升场景代表性、减少冗余场景数量以及增强优化模型求解效率方面的显著优势。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源并网、微电网优化、综合能源系统等领域的工程技术人员。; 使用场景及目标:①用于可再生能源接入背景下的电力系统随机优化、鲁棒优化等需要输入典型场景的研究与应用;②支撑微电网调度、储能配置、需求响应等场景下的不确定性建模与仿真分析;③为学术论文复现、课研究提供可靠的技术路径与代码支持。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注多维核密度估计的实现细节与场景削减算法的应用逻辑,同时可参考文档中列出的其他相关研究方向以拓展技术视野。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值