首页 > TAG信息列表 > violet
基础查询操作(MySQL)
目录 前言基础操作1:查询字段查询单个字段查询多个字段查询所有字段 基础操作2:特殊查询查询常量值查询表达式查询函数 基础操作3:起别名基础操作4:去重基础操作5:拼接 前言 介绍MySQL的基础查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据P4169 [Violet]天使玩偶/SJY摆棋子(CDQ分治、暴力)
解析 之前用KDtree做的一道题 由于懒不想再码一遍了 考虑CDQ分治 关键就是如何拿掉绝对值 如果只维护左下角的,显然就是一个经典的三维偏序问题了 但是本题不一定在左下角,也可能在左上、右下、右上 怎么办? 把坐标翻转翻转直接暴力做四遍即可 有昨晚CFE题暴力枚举做36遍那味了LG P4168 [Violet]蒲公英
\(\text{Problem}\) 强制在线静态询问区间众数 \(\text{Solution}\) 不得不说 \(vector\) 是真的慢 做 \(LOJ\) 数列分块入门 \(9\) 卡时间卡了两个小时没成功 说说够快得做法 对原数列分块 考虑已经预处理出任意两块之间得答案 散块中出现的颜色可以让其在整块中失败后翻盘 其它P1445 [Violet]樱花 题解(推式子)
题目链接 题目思路 求\(1/x+1/y=1/n!\)中\((x,y)\)的对数 首先可以进行化简成为\((x+y)n!-xy=0\) 对于这种问题肯定是想要化成质因子分解的形式的 两边同时加上\(n!^2\) 则化简为\((x-n!)(y-n!)=n!^2\) 然后进行质因子分解即可 代码 #include<bits/stdc++.h> using namespace std;[Violet]蒲公英
[Violet]蒲公英 强制在线求区间众数。 思路 与一些分块题不同,本题并没有在块内插入其他东西进行维护,最朴素的分块。类似【作诗】的预处理,预先处理出每个数出现的块后缀和(前缀和应该也没有问题),以及块间的众数。对于[l,r]位于的块是挨着或在同一块的情况,直接暴力处理(挨着的不太好处P1445 [Violet] 樱花 - 数论
题意 给定 \(n\),求方程 \(\dfrac{1}{x}+\dfrac{1}{y}=\dfrac{1}{n!}\) 的正整数解个数,\(1\le n\le 10^6\)。 题解 \[\begin{aligned} \dfrac{1}{y}&=\dfrac{1}{n!}-\dfrac{1}{x}=\dfrac{x-n!}{xn!} \\ y&=\dfrac{xn!}{x-n!}\\&=\dfrac{n!(x-n!)+(n!)^2}{x洛谷P4168 [Violet]蒲公英(分块)
https://www.luogu.com.cn/problem/P4168 分块大法好 首先离散化把值域缩小到n 预处理3个数组 sum[i][j]表示前i块里j的出现次数 mx[i][j]表示第i块到第j块出现次数最多的数出现了多少次 who[i][j]表示第i块到第j块出现次数最多的数最小是谁 对于查询 如果左右端点在同一块或者P4169 [Violet]天使玩偶
两种操作:1.加入点(x,y); 2.查询距(x,y)最近的点的曼哈顿距离距离 思路:绝对值拆开通常可以取max,不过这里直接分类讨论4种情况,我们发现如果找\(i\)点左下点\(j\)\((x_j<=x_i且y_j<=y_i)\)到\(i\)的最小距离:\(x_i-x_j+y_i-y_j=(x_i+y_i)-(x_j+y_j)\) 所以使距离最小即让\(x_j+y_jBZOJ 2720: [Violet 5]列队春游
概率和期望+组合数学 这个题有On,n2,n3的做法,这里主要说一下n的线性做法。 我和chy研究了无数题解才明白 根据期望的线性性,枚举每种可能的视野,把期望分解成 每种视野的视野长度×这种视野的概率 就是 $\sum_{i=1}^n i\times P(i) $ 然后我们可以给他做一个转化,看这个图 上面的公式洛谷 P1445 [Violet]樱花
原文地址 分析 题目要求求出不定方程:\(\dfrac{1}{x}+\dfrac{1}{y}=\dfrac{1}{n}\)的解\((x,y为未知数,n为给定的常数)\)。 观察原式可以发现\(x\)和\(y\)必定大于\(n!\),那么不妨令 \(y=n!+k,(k\in Z^*)\) 则原式变为题解-P4169 [Violet]天使玩偶/SJY摆棋子
\(\Large\natural\) P4169 [Violet]天使玩偶/SJY摆棋子\ 原题链接 题意 由于特殊原因,加了个题意简述 一开始有 \(n\) 个关键点 \((a,b)\)。然后有 \(T\) 个操作: 多出一个关键点 \((a,b)\)。 询问如果我站在 \((x,y)\),最近的关键点距离我多远。(这里的距离是曼哈顿距离) \(n,T\le 3BZOJ 2712. [Violet 2]棒球 类欧几里得
题意: 戳这里 分析: 前置芝士:类欧几里得算法 其实类欧,除了复杂度证明和欧几里得差不多,其他半毛钱关系都没有,类欧是一种合并降低复杂度的方法 首先小数化分数,上界是小数部分 \(\times 10+14\) 下界是小数部分 \(\times 10-5\) \(\frac{a}{b}\le \frac{p}{q}\le \frac{c}{d}\) 分类P4168 [Violet]蒲公英
题意 Luogu P4168 给 \(n\) 个数, 询问区间众数, 询问 \(m\) 次. \(1 \leq n \leq 40000\), \(1 \leq m \leq 50000\), \(1 \leq a_i \leq 10^9\) 分析 区间查询一般会想到线段树, 但是线段树不能维护众数这种不能合并的信息. 朴素 \(l\) 到 \(r\) 扫一遍, 统计数字出现数量, 然后BZOJ-2721 [Violet 5]樱花(质因数分解)
题目描述 给定 \(n(1\leq n\leq 10^6)\),求有多少对整数 \((x,y)\) 满足 \(\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\),答案对 \(10^9+7\) 取模。 分析 设 \(z=n!,y=z+d\)。 \[\begin{aligned}&\frac{1}{x}+\frac{1}{y}\\=&\frac{1}{x}+\frac{1}{z+d}\\=&\fracP1445 [Violet]樱花 一点点数论
P1445 [Violet]樱花 九月十五号考试T4。 题目链接 一点点数论吧。(就是没想出来) \[\frac{1}{x} + \frac{1}{y} = \frac{1}{n!} \\ xy = xn! + yn! \\ n!^2 - xn! - yn! + xy = n!^2 \\ (x - n!)(y - n!)=n!^2 \\ ab = n!^2 \] 因为唯一分解定理:\(n! = p_1^{r_1}p_2^{r_2P4168 [Violet]蒲公英
题意描述 蒲公英 题面好美好啊 强制在线查询区间众数。 算法分析 分块模板题了吧。 类似区间众数等不满足区间加法的问题很难用线段树或树状数组来实现,所以这里采用分块。 其实分块几乎都是趋近于大块维护,小块暴力的思想,所以代码实现难度和思维难度没有上面提到的数据结构高。 思「Violet」蒲公英
「Violet」蒲公英 传送门 区间众数,强制在线。 分块经典题。 像这题一样预处理,然后就直接爆搞,复杂度 \(O(n \sqrt n)\) 参考代码: #include <algorithm> #include <cstdio> #include <cmath> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x"【洛谷P4169】[Violet]天使玩偶/SJY摆棋子
题目 题目链接:https://www.luogu.com.cn/problem/P4169 Ayu 在七年前曾经收到过一个天使玩偶,当时她把它当作时间囊埋在了地下。而七年后的今天,Ayu 却忘了她把天使玩偶埋在了哪里,所以她决定仅凭一点模糊的记忆来寻找它。 我们把 Ayu 生活的小镇看作一个二维平面坐标系,而 Ayu 会不定[violet]蒲公英题解
前几天刚学习了分块,感觉这道题用分块求解的方式挺巧妙的 既然用的是分块,那么肯定是两端暴力求解,中间要快速地处理每个块 首先我们要得到一个结论,最后求出的这一个众数必定为中间块的众数或者是两端的任意一个数,那么我们用\(nu[i][j]\)来表示第\(i\)个块到第\(j\)个块的众数,我们可[Violet]天使玩偶/SJY摆棋子 [cdq分治]
P4169 [Violet]天使玩偶/SJY摆棋子 求离 \((x,y)\) 最近点的距离 距离的定义是 \(|x1-x2|+|y1-y2|\) 直接cdq 4次 考虑左上右上左下右下就可以了…略微卡常数… #include <bits/stdc++.h> #define ls(x) ch[x][0] #define rs(x) ch[x][1] #define rep(i , j , k) for(int i = j ;[Violet]蒲公英
链接 暴力 #include<bits/stdc++.h>#define re return#define dec(i,l,r) for(int i=l;i>=r;--i)#define inc(i,l,r) for(int i=l;i<=r;++i)using namespace std;template<typename T>inline void rd(T&x){ char c;bool f=0; while((c=getchar())&l[Violet]樱花
题目传送门 题目大意: 求解一个形如 \[\frac1x+\frac1y=\frac1{n!}\] 的方程正整数解\(x,y\)的个数。 显然$ x,y>n!$ 那么我们可以设\(y=n!+d\) 则: \[\frac1x+\frac1y=\frac1{n!}\] \[xn!+yn!=xy\] \[(x+y)n!=xy\] \[(x+d+n!)n!=x(n!+d)\] \[x=\frac{n!}d+n!\] 所以:我们要找\(x\)的BZOJ 2716 [Violet 3]天使玩偶 (CDQ分治、树状数组)
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2716 怎么KD树跑得都那么快啊。。我写的CDQ分治被暴虐 做四遍CDQ分治,每次求一个左下角\(x_i+y_i\)的最大值 第一种写法是一开始按时间排序,然后CDQ分治的时候改成按\(x\)坐标排序,同时用树状数组统计每个\(y\)坐标的最大P4169 [Violet]天使玩偶/SJY摆棋子
1 // luogu-judger-enable-o2 2 #include<cstdio> 3 #include<iostream> 4 using namespace std; 5 const int maxn=1e7+10; 6 const int inf=2e7+7; 7 struct node 8 { 9 int x,y,id,ans,time; 10 }a[maxn],b[maxn],tt[maxn];; 11 int flag; 12 i【并查集】黑魔法师之门
黑魔法师之门 题目 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源。然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Violet星球。为了重启Nescafe这一宏伟的科技工程,人类派出了一支由XLk、Poet_shy和lydrainbowcat