首页 > 其他分享 >创作乐曲

创作乐曲

时间:2024-08-11 17:04:56浏览次数:10  
标签:乐曲 va int tot 创作 100005 long 音符

  • 寻找性质优化DP:对于一个音高为\(a_i\)的音符,在最优解中,接在其后面的音符一定是离这个音符最近的音高在【\(a_i-k,a_i\)】或【\(a_i,a_i+k\)】内的音符
  • 这个音符是可以通过线段树预处理求出来的
点击查看代码
#include <bits/stdc++.h>
using namespace std;
long long a[100005],raw[100005],b[100005];
int A[100005],L[100005],R[100005],q1[100005],q2[100005];
unordered_map<long long,int>v;
int f[100005];
struct t1
{
	int l,r,v;
}t[17*100000+5];
int tot;
int New()
{
	tot++;
	t[tot].l=t[tot].r=0;
	t[tot].v=0;
	return tot;
}
void change(int p,int l,int r,int x,int va)
{
	if(l==r)
	{
		t[p].v=max(t[p].v,va);
		return; 
	}
	int mid=(l+r)>>1;
	if(x<=mid)
	{
		if(!t[p].l)
		{
			t[p].l=New();
		}
		change(t[p].l,l,mid,x,va);
	}
	else
	{
		if(!t[p].r)
		{
			t[p].r=New();
		}
		change(t[p].r,mid+1,r,x,va);
	}
	t[p].v=max(t[t[p].l].v,t[t[p].r].v);
}
int ask(int p,int l,int r,int u,int v)
{
	if(p==0)
	{
		return 0;
	}
	if(u<=l&&v>=r)
	{
		return t[p].v;
	}
	int mid=(l+r)>>1;
	int va=0;
	if(u<=mid)
	{
		va=max(va,ask(t[p].l,l,mid,u,v));
	}
	if(v>mid)
	{
		va=max(va,ask(t[p].r,mid+1,r,u,v));
	}
	return va;
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T;
	cin>>T;
	while(T--)
	{
		int n;
		long long M,w;
		cin>>n>>M>>w;
		for(long long i=1;i<=n;i++)
		{
			cin>>a[i];
			b[i]=a[i];
		}
		sort(b+1,b+n+1);
		int m=unique(b+1,b+n+1)-(b+1);
		for(int i=1;i<=m;i++)
		{
			raw[i]=b[i];
			v[b[i]]=i;
		}
		tot=-1;
		tot=New();
		tot=New();
		for(int i=1;i<=n;i++)
		{
			A[i]=v[a[i]];
			L[i]=lower_bound(b+1,b+m+1,a[i]-w)-b;
			R[i]=upper_bound(b+1,b+m+1,a[i]+w)-b;
			R[i]--;
			q1[i]=ask(1,1,m,L[i],A[i]);
			q2[i]=ask(1,1,m,A[i],R[i]);
			change(1,1,m,A[i],i);
		}
		int Q;
		cin>>Q;
		for(int i=1;i<=Q;i++)
		{
			int l,r;
			cin>>l>>r;
			f[l]=1;
			int ans=1;
			for(int j=l+1;j<=r;j++)
			{
				if(q1[j]<l&&q2[j]<l)
				{
					f[j]=1;
				}
				else if(q1[j]<l)
				{
					f[j]=f[q2[j]]+1;
				}
				else if(q2[j]<l)
				{
					f[j]=f[q1[j]]+1;
				}
				else
				{
					f[j]=max(f[q1[j]]+1,f[q2[j]]+1);
				}
				ans=max(ans,f[j]);
			}
			cout<<(r-l+1)-ans<<endl;
		}
	}
	return 0;
}

标签:乐曲,va,int,tot,创作,100005,long,音符
From: https://www.cnblogs.com/watersail/p/18353622

相关文章

  • 通用文生图提示词(Prompt):7步教你用AI创作让人惊艳的绝美图片
    前言哈喽朋友们,大家有没有在刷朋友圈时见过那些让人眼前一亮的AI生成图片?是不是羡慕得不行,也想自己弄一张?别急,今天我就带你揭开AI绘画的神秘面纱,让你分分钟成为朋友圈的艺术大咖!要出好一张图提示词也至关重要,在这里我分享这份提示词大全给大家!想画出满意的图片,关键在于......
  • AI新玩法!阿里云联合优酷跨界打造Create@AI江湖创作大赛
    随着网剧《少年白马醉春风》的热播,许多人心中的江湖梦被唤醒,渴望踏入那个充满传奇色彩的影视世界,体验一段属于自己的江湖之旅。在AIGC技术日益成熟的今天,这一梦想变得触手可及。阿里云携手优酷,发起了Create@AI江湖创作大赛,将网剧《少年白马醉春风》这一热门影视IP与阿里云......
  • 移动设备上的AI辅助视频创作工具
    摘要:本文介绍了一款专为移动设备设计的AI辅助视频创作工具,该工具能够将文本内容转换为动态漫画视频,为内容创作者提供了一种创新的表达方式。关键词:人工智能,视频创作,动态漫画,内容生成正文:随着移动技术的发展,内容创作者对于能够在移动设备上进行高效创作的工具需求日益增长......
  • windows C++-使用 C++/WinRT 创作 API(一)
    这个系列中的"投影”不太好有准确的翻译,它的原文是"projection",最开始我觉得可能翻译为实现,但C++本身也有"实现(implementation )",这两个不同的词翻译为一个总觉得怪怪的。本文展示了如何直接或间接使用winrt::implements基本结构来拓展创作C++/WinRTAPI。在此上......
  • windows C++-使用 C++/WinRT 创作 API(二)
    可扩展应用程序标记语言(XAML)是一种声明性语言。具体来讲,XAML可初始化对象和设置对象的属性,使用一种可显示多个对象间分层关系的语言结构,还使用了一种支持类型扩展的支持类型约定。可以在声明性XAML标记中创建可见的UI元素。然后,可以为每个XAML文件关联单独的代码隐藏......
  • 参加阿里云X优酷AI江湖创作大赛,赠送博客园T恤
    大赛官网:https://developer.aliyun.com/plan/create/snbm8月刚开始就接到一个阿里云的广告单子,也是CPA(CostPerAction)方式,按有效参赛人数付费,KPI是完成500人参赛。参赛方式是基于阿里云函数计算服务部署的AI绘画平台创作图片作品。(注:函数计算服务有免费试用额度,使用这个额......
  • 如何让写作变得不再枯燥?笔灵AI写作,让创作充满乐趣
    在这个信息爆炸的时代,写作已经成为一项几乎每个人都需要掌握的技能。面对一张空白的纸张,许多人常常感到无从下手。为了解决这一难题,我向大家推荐一款强大的写作辅助工具——笔灵AI写作。它不仅能帮助我们解决写作中的困扰,还能让我们的创作过程变得更加轻松和高效。笔灵AI写作:......
  • AI创作商业系统软件源码(SparkAi系统) AI换脸/智能体GPTs应用/AI视频生成AI绘画/文档分
    AI创作商业系统软件源码(SparkAi系统)AI换脸/智能体GPTs应用/AI视频生成AI绘画/文档分析/GPT4.0模型支持目录一、人工智能SparkAi创作系统二、功能模块介绍系统快速体验三、系统功能模块3.1AI全模型支持/插件系统AI模型提问AI智能体文档分析多模态识图理解TTS&......
  • NextClip掀起儿童绘本故事创作新趋势
    在儿童故事创作领域,NextClip小说推文AI一站式创作平台以其强大的功能和易用性,为自媒体和育儿内容创作者提供了一个全新的创作工具。平台的最新更新,增加了【绘本卡通】画风,进一步丰富了儿童绘本的创作选择。儿童故事创作新趋势儿童故事在社交媒体上的流行,特别是针对20-40岁女......
  • Bitwig Studio for Mac(音乐创作软件)v5.2版
    bitwigstudiomac中的每个设备都是使用应用程序中集成的模块化系统内部设计的。我们选择的设备展示了BitwigStudio的引擎盖下隐藏的力量。这种广泛的设备将涵盖从微妙到极端的所有声音设计需求。BitwigStudioforMac(音乐创作软件)v5.2激活版软件地址BitwigStudiofo......