洛谷P3792 由乃与大母神原型和偶像崇拜
P3792 由乃与大母神原型和偶像崇拜
题目背景
由乃最近没事干,去研究轻拍学去了
就是一个叫做flip flappers,轻拍翻转小膜女的番
然后研究的过程中她看到了一个叫做大母神原型的东西
大母神不仅是部落保护神,而且是部落间互相识别的标记(以后泛化为不同的图形符号、服饰和祭祀仪式),在部落联盟出现后,具有领导力的部落神祇,上升为整个联盟的共神,进而成为酋邦和王国的共神
大概就是说这个东西是母系社会时候的偶像,然后象征着母亲可以创造生命也可以毁灭生命什么什么的,分别是善母与恶母,既孕育一切,又吞噬一切
然后我们熟知的神话里面就有大母神,比如女娲其实就是个大母神。。。
原始部落时期的大母神既具有生育和哺乳的能力,也具有保护部落、带来丰收的神力。
到了神话时期,大母神进一步分化,演变出形形色色的女神,分别象征了女性能量的不同面向:孕育女神、大地女神、爱与美女神、保护女神、战争女神、丰收女神、智慧女神、命运女神……
这些是善母
世间的事物总是两面性的:一切生命诞生于土地,最终要回归土地;创造的必然也拥有毁灭的能力。大母神也同样具有痛苦、恐怖、吞噬和危险的一面。
比如童话故事里面的女巫,其实就是大母神的另一面的体现,也就是恶母
糖果屋的故事讲的就是韩赛尔和格雷特被继母赶出家里,因为没饭吃了,然后进了森林发现了一个糖果屋,里面有个女巫,专门吃小孩子
然而如果我们仔细想想这个故事,会发现它没有那么简单
比如说,女巫真的是吃小孩子吗?如果女巫是个善良的老婆婆,无偿救助在森林里面困住的小孩子呢?
还有就是当韩赛尔和格雷特杀死了女巫,回到家中发现她们的继母也死了
这是否意味着她们实际上杀死的是她们的继母?
所以这个故事本质上讲的是她们杀了她们的母亲,也就是打败了大母神
很多神话故事里面都有打败大母神的情节
题目描述
你看到这里也许已经觉得由乃精神不正常了
然而由乃自从不小心##了自己的##后早就不正常了
由乃研究了很久大母神原型,但是仍然一脸懵逼
于是就出数据结构题骗钱去了
由乃:给你一个序列,每次询问一个区间是否是值域连续段
zzy:你把题意说详细点
由乃:就是说不能有重复数字,比如1 2 2 3就不行,然后4 2 3 1就可以
yql:sb分块
ddd:sb bitset
由乃:woc你们好树链啊,我。。我带修
zzq:#######sb题
由乃:我就是要出原题
给你一个序列a
每次两个操作:
1.修改x位置的值为y
2.查询区间l,r是否可以重排为值域上连续的一段
输入输出格式
输入格式:
第一行两个数n,m
第二行n个数表示a[i]
后面m行每行三个数opt x y,或者opt l r,代表操作
输出格式:
如果可以,输出“damushen”
否则输出“yuanxing”
输入输出样例
5 5
1 2 3 4 5
2 1 5
2 2 3
2 3 3
1 3 6
2 3 5
damushen
damushen
damushen
damushen
说明
对于30%的数据,n,m<=500
对于60%的数据,n,m<=100000
对于100%的数据,n,m<=500000
值域1e9
2s
#include<iostream>
#include<cstdio>
#include<map>
#include<algorithm>
#define maxn 500001
using namespace std;
int a[maxn],n,m,l,r,b[maxn],cnt;
int op,x,y;
bool flag;
map<int,bool>vis;
int main(){
freopen("Cola.txt","r",stdin);
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)scanf("%d",&a[i]);
for(int i=;i<=m;i++){
scanf("%d%d%d",&op,&x,&y);
if(op==)a[x]=y;
if(op==){
flag=;
cnt=;
for(int j=x;j<=y;j++)b[++cnt]=a[j];
sort(b+,b+cnt+);
for(int j=,num=b[];j<=cnt;j++,num++){
if(b[j]!=num){
flag=;
puts("yuanxing");
break;
}
}
if(flag==)puts("damushen");
continue;
}
}
}
70分 暴力
#include<bits/stdc++.h>
const int yql=;
const int N=;
const int inf=0x7fffffff;
using namespace std;
typedef long long ll;
int n,m,a[N],mx,mn,x,y,inv;
ll ss,sum;
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
inline int fpow(int x,int p){
int ans=;
for(;p;p>>=,x=(1LL*x*x)%yql)if(p&)ans=(1LL*ans*x)%yql;
return ans;
}
inline int calc(int x){return 1LL*x*(x+)%yql*(x<<|)%yql*inv%yql;}
struct Segment_Tree{
#define lson (o<<1)
#define rson (o<<1|1)
int maxv[N<<],minv[N<<];
ll sumv[N<<],s[N<<];
inline void pushup(int o){
maxv[o]=max(maxv[lson],maxv[rson]);
minv[o]=min(minv[lson],minv[rson]);
sumv[o]=(sumv[lson]+sumv[rson])%yql;
s[o]=s[lson]+s[rson];
}
inline void build(int o,int l,int r){
if(l==r){maxv[o]=minv[o]=s[o]=a[l];sumv[o]=(1LL*a[l]*a[l])%yql;return;}
int mid=(l+r)>>;
build(lson,l,mid);build(rson,mid+,r);
pushup(o);
}
inline void change(int o,int l,int r,int q,int v){
if(l==r){maxv[o]=minv[o]=s[o]=v;sumv[o]=(1LL*v*v)%yql;return;}
int mid=(l+r)>>;
if(q<=mid)change(lson,l,mid,q,v);
else change(rson,mid+,r,q,v);
pushup(o);
}
inline void query(int o,int l,int r,int ql,int qr){
if(ql<=l&&r<=qr){
mx=max(maxv[o],mx);mn=min(mn,minv[o]);sum=(sum+sumv[o])%yql;ss+=s[o];
return;
}
int mid=(l+r)>>;
if(ql<=mid)query(lson,l,mid,ql,qr);
if(qr>mid)query(rson,mid+,r,ql,qr);
}
}T;
int main(){
n=read();m=read();inv=fpow(,yql-);
for(int i=;i<=n;i++)a[i]=read();
T.build(,,n);
while(m--){
int opt=read(),l=read(),r=read();
if(opt==)T.change(,,n,l,r);
else{
mx=;mn=inf;ss=;sum=;
T.query(,,n,l,r);
if(mx-mn==r-l&&(1LL*(mx+mn)*(r-l+))>>==ss&&(calc(mx)-calc(mn-)+yql)%yql==sum)puts("damushen");
else puts("yuanxing");
}
}
}
100分 线段树
洛谷P3792 由乃与大母神原型和偶像崇拜的更多相关文章
- p3792 由乃与大母神原型和偶像崇拜(思维+线段树)
要求 1.修改x位置的值为y 2.查询区间l,r是否可以重排为值域上连续的一段 可以,很lxl 然后一开始思考合并区间,但是发现可以重排序,GG 然后想了特殊性质,比如求和,但是显然可以被叉 这时候我 ...
- AC日记——由乃与大母神原型和偶像崇拜 洛谷 P3792
由乃与大母神原型和偶像崇拜 思路: 逆元+线段树维护和+线段树维护平方和+线段树维护最大最小值: 代码: #include <bits/stdc++.h> using namespace ...
- 【洛谷P3792】由乃与大母神原型和偶像崇拜
题目大意:维护一个序列,支持单点修改和查询一段区间能不能组成连续的一段数. 题解:查询区间能不能组成一段连续的数这个操作较为复杂,很难在较小时间复杂度内直接维护.这里采用线段树维护区间哈希的策略,即: ...
- LuoguP3792 由乃与大母神原型和偶像崇拜
题目地址 题目链接 题解 由乃题还是毒瘤啊orz 显然的一个结论是,如果保证不重复,维护区间min,max然后判断max-min+1==r-l+1是否成立即可 但是有重复 于是就要orz题解区的各位大 ...
- 「Luogu 3792」由乃与大母神原型和偶像崇拜
更好的阅读体验 Portal Portal1: Luogu Description 给你一个序列\(a\) 每次两个操作: 修改\(x\)位置的值为\(y\): 查询区间\([l, r]\)是否可以重 ...
- 洛谷P4014 分配问题【最小/大费用流】题解+AC代码
洛谷P4014 分配问题[最小/大费用流]题解+AC代码 题目描述 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为c ij. 试设计一个将 n 件工作分配给 n 个人做的 ...
- 洛谷——P1966 火柴排队&&P1774 最接近神的人_NOI导刊2010提高(02)
P1966 火柴排队 这题贪心显然,即将两序列中第k大的数的位置保持一致,证明略: 树状数组求逆序对啦 浅谈树状数组求逆序对及离散化的几种方式及应用 方法:从前向后每次将数插入到bit(树状数组)中, ...
- 洛谷 P1373 小a和uim之大逃离
2016-05-30 12:31:59 题目链接: P1373 小a和uim之大逃离 题目大意: 一个N*M的带权矩阵,以任意起点开始向右或者向下走,使得奇数步所得权值和与偶数步所得权值和关于K的余数 ...
- 洛谷1373 小a和uim之大逃离
洛谷1373 小a和uim之大逃离 本题地址:http://www.luogu.org/problem/show?pid=1373 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
随机推荐
- Mysql备份和还原(命令)
1.备份方法一 ①.进入数据库 mysql -uroot -p pwd; ②.查看数据库 show databases; ③.备份数据库 mysqldump -hlocalhost -uroot(用户 ...
- Windows Server 2008 R2 备份与恢复详细实例
Windows Server 2008 R2中Windows Server Backup备份与恢复 本实验是在虚拟机操作,因公司的需求,将备份存储到另一台服务器,于是我在现有linux备份服务器搭建了 ...
- Java_数据交换_dom4j_01_解析xml
1.说明 详细原理以后再研究,先将例子存着 2.代码 2.1 xml内容 <?xml version="1.0" encoding="UTF-8"?> ...
- zepto不支持animate({scrollTop:"100px"})的解决办法
在移动web项目的开发中,遇到一个通过点击页面自动到相应的楼层处的需求,最初的想法就是使用html的target属性进行切换,但实际效果十分死板,显得毫无交互性.该前端架构采用zepto这个轻库进行开 ...
- hihocoder-1274 自行车架(高维dp)
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的宿舍楼下有一块用于停自行车的区域.平时自行车都停得非常杂乱,于是楼长打算去买一排自行车架用来停车.自行车架一般有P个 ...
- Linux-安装ssh服务
问题描述: 有些版本的linux系统,如Ubuntn 16 ,安装完成后缺少ssh服务, 所以putty链接会出现访问失败的情况. 解决办法: 在linux中安装ssh服务,并启动 1.安装 sudo ...
- 什么是DMIPS
MIPS: Million Instructions executed Per Second,每秒百万条指令,用来计算同一秒内系统的处理能力 DMIPS: Dhrystone Million Inst ...
- ACM学习历程—SNNUOJ1132 余数之和(数论)
Description F(n) = (n % 1) + (n % 2) + (n % 3) + ...... (n % n).其中%表示Mod,也就是余数.例如F(6) = 6 % 1 + 6 % ...
- HDU3018:Ant Trip(欧拉回路)
Ant Trip Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- live555源代码分析
live555源代码下载(VC6工程):http://download.csdn.net/detail/leixiaohua1020/6374387 liveMedia 项目(http://www.l ...