【JZOJ6384】珂学家
description

analysis
注意配出来的饮料不可以再配成其他饮料,所以肯定有\(O(n^2)\)的枚举
而且可口度两两互不相同,搞得我以为这是神仙题
考虑把两个试剂\([l_1,r_1],[l_2,r_2]\)合并,\([l_1+l_2,r_1+r_2]\)里的每个点都有贡献
假设贡献只有\(1\),拉出来就是\(1,2,3,..,k-1,k,k,k,...,k,k-1,...,3,2,1\)
注意到前面一段和后面一段是等差数列,中间全部相等,做一遍差分
就会是\(0,1,1,...,1,1,0,0,...,0,-1,...,-1,-1,-1,-1\),注意最后面多出来一个\(-1\)
再做差分,变成\(0,1,0,...,0,0,-1,0,...,0,-1,...,0,0,0,0,1\),最后面又多出来一个\(1\)
那么对于一次贡献,相当于打上两个加两个减标记,最后两次前缀和还原原数组
code
#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAXN 5005
#define MAX 20000005
#define ha 998244353
#define ll long long
#define reg register ll
#define fo(i,a,b) for (reg i=a;i<=b;++i)
#define fd(i,a,b) for (reg i=a;i>=b;--i)
using namespace std;
ll v[MAXN],l[MAXN],r[MAXN];
ll a[MAX];
ll n,m,mx;
inline ll read()
{
ll x=0,f=1;char ch=getchar();
while (ch<'0' || '9'<ch){if (ch=='-')f=-1;ch=getchar();}
while ('0'<=ch && ch<='9')x=x*10+ch-'0',ch=getchar();
return x*f;
}
inline void swap(ll &x,ll &y){ll z=x;x=y,y=z;}
int main()
{
//freopen("T1.in","r",stdin);
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
n=read(),m=read();
fo(i,1,n)v[i]=read(),l[i]=read(),mx=max(mx,r[i]=read());
fo(i,1,n-1)fo(j,i+1,n)
{
ll lx=l[i],rx=r[i],ly=l[j],ry=r[j],k,kk,tmp=v[i]*v[j]%ha;
(a[lx+ly]+=tmp)%=ha,(a[lx+ry+1]-=tmp)%=ha,(a[rx+ly+1]-=tmp)%=ha,(a[rx+ry+2]+=tmp)%=ha;
}
fo(i,1,2*mx+1)(a[i]+=a[i-1])%=ha;
fo(i,1,2*mx+1)(a[i]+=a[i-1])%=ha;
while (m--)printf("%lld\n",(a[read()]+ha)%ha);
return 0;
}
【JZOJ6384】珂学家的更多相关文章
- [转]我的数据结构不可能这么可爱!——珂朵莉树(ODT)详解
参考资料: Chtholly Tree (珂朵莉树) (应某毒瘤要求,删除链接,需要者自行去Bilibili搜索) 毒瘤数据结构之珂朵莉树 在全是珂学家的珂谷,你却不知道珂朵莉树?来跟诗乃一起学习珂朵 ...
- 「学习笔记」珂朵莉树 ODT
珂朵莉树,也叫ODT(Old Driver Tree 老司机树) 从前有一天,珂朵莉出现了... 然后有一天,珂朵莉树出现了... 看看图片的地址 Codeforces可还行) 没错,珂朵莉树来自Co ...
- 【瓜分5000元奖金】Wannafly挑战赛13
链接:https://www.nowcoder.com/acm/contest/80/A来源:牛客网 zzy的小号 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...
- CF670C Cinema 【离散化+map】
题意翻译 莫斯科在举办一场重要的有 nn 个不同国家的珂学家参与的国际会议,每个珂学家都只会一种语言.为了方便起见,我们规定一种语言用 11 到 10^9109 的数来描述. 在会议之后的晚上,珂学家 ...
- 震惊!CCF改名为中国沙雕化学学会!!!
震惊!中国沙雕计算机学会要改名中国沙雕化学学会??? Ak元素 据传,CCF,发现了一种新元素,元素符号暂命名为为Ak,中文名称暂未命名,据说是第250号元素. Ak 元素的发现 珂学家在一个叫洛谷的 ...
- [Swift]LeetCode875. 爱吃香蕉的珂珂 | Koko Eating Bananas
Koko loves to eat bananas. There are N piles of bananas, the i-th pile has piles[i]bananas. The gu ...
- 洛谷AT2342 Train Service Planning(思维,动态规划,珂朵莉树)
洛谷题目传送门 神仙思维题还是要写点东西才好. 建立数学模型 这种很抽象的东西没有式子描述一下显然是下不了手的. 因为任何位置都以\(k\)为周期,所以我们只用关心一个周期,也就是以下数都在膜\(k\ ...
- 牛客练习赛7 E 珂朵莉的数列
珂朵莉的数列 思路: 树状数组+高精度 离散化不知道哪里写错了,一直wa,最后用二分写的离散化 哪位路过大神可以帮我看看原来的那个离散化错在哪里啊 通过代码: import java.math.Big ...
- 牛客练习赛9 F - 珂朵莉的约数
题目描述 珂朵莉给你一个长为n的序列,有m次查询 每次查询给两个数l,r 设s为区间[l,r]内所有数的乘积 求s的约数个数mod 1000000007 输入描述: 第一行两个正整数n,m第二行一个长 ...
随机推荐
- 兼容ie8浏览器的准备工作
一.html5shiv.js和respond.min.js html5shiv:解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题. respond.min:让不支持css3 ...
- webpack4 入门配置研究
1. 全局安装 npm install webpack webpack-cli webpack-dev-server -g 1.1)输密文的密码(电脑开机) 1.2)安装成功 2. 输入命令mkdir ...
- tty - 显示连接标准输入的终端的文件名
总览 (SYNOPSIS) tty [OPTION]... 描述 (DESCRIPTION) 显示 连接 标准输入 的 终端 的 文件名. -s, --silent, --quiet 什么 都 不显示 ...
- 如何定义一个BUG
一.划分一个bug的等级 bug等级主要分为致命.严重.一般.轻微或者建议四个等级: 1.致命错误:系统无法执行.崩溃或严重资源不足.应用模块无法启动或异常退出.无法测试.造成系统不稳定.价值较高功能 ...
- tomcat 端口被占用 项目端口号被占用怎么解决
1.Win+R 打开运行 ,输入cmd 打开命令行窗口 . 2.假设要查询端口被占用情况,在命令行下输入:netstat -aon|findstr "8883" 3.得到进程 ...
- [转]在WPF中自定义控件 UserControl
在这里我们将将打造一个UserControl(用户控件)来逐步讲解如何在WPF中自定义控件,并将WPF的一些新特性引入到自定义控件中来.我们制作了一个带语音报时功能的钟表控件, 效果如下: 在VS中右 ...
- [转]C#对Excel报表进行操作(读写和基本操作)
//1.添加引用-〉com-〉microsoft excel 11.0 //2.若出现错误:命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是缺少程序集引用吗 ...
- [JZOJ6355] 【NOIP2019模拟】普 24/100
题目 题目大意 给你一个序列,对于所有\(k\in [1,n]\),求长度为\(k\)的子序列的最大权值,权值为\(a_1-a_2+a_3-...\pm a_k\) 思考历程 这题显然可以背包对吧-- ...
- MaxCompute问答整理之9月
本文是基于本人对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文.希望对大家有所帮助. 问题一.如何查看information_schema的tables? 在使用OD ...
- java.lang.InstantiationException: com.lch.commder.entity.Car 已解决
以上的上异常,是你的类实例化对象失败的时候抛出异常,这种异常多会出现在抽象类中,在使用反射的机制时,解决方法很简单 在你的类中再加一个空构造方法