luogu P1494 岳麓山上打水】的更多相关文章

题目描述 今天天气好晴朗,处处好风光,好风光!蝴蝶儿忙啊,蜜蜂也忙,信息组的同学们更加忙.最近,由于XX原因,大家不得不到岳麓山去提水.55555555~,好累啊. 信息组有一个容量为q升的大缸,由于大家都很自觉,不愿意浪费水,所以每次都会刚好把缸盛满.但是,信息组并没有桶子(或者瓢)来舀水,作为组内的生活委员,你必须肩负重任,到新一佳去买桶子. 新一佳有p种桶子,每种桶子都有无穷多个^_^,且价钱一样.由于大家都很节约,所以你必须尽量少买桶子.如果有多种方案,你必须选择“更小”的那种方案,即:…
题目描述 今天天气好晴朗,处处好风光,好风光!蝴蝶儿忙啊,蜜蜂也忙,信息组的同学们更加忙.最近,由于XX原因,大家不得不到岳麓山去提水.55555555~,好累啊. 信息组有一个容量为q升的大缸,由于大家都很自觉,不愿意浪费水,所以每次都会刚好把缸盛满.但是,信息组并没有桶子(或者瓢)来舀水,作为组内的生活委员,你必须肩负重任,到新一佳去买桶子. 新一佳有p种桶子,每种桶子都有无穷多个^_^,且价钱一样.由于大家都很节约,所以你必须尽量少买桶子.如果有多种方案,你必须选择“更小”的那种方案,即:…
P1159岳麓山上打水 https://vijos.org/p/1159 dfsID,第一次听说这东西,但是感觉不太靠谱啊. 一开始的时候,想到了排个序后,然后进行dp,如果要输出字典序最小其实还是可以搞定的,就是2.3.比26小的话,还是可以的. 排序后,只要在转移的时候,如果这个背包有解了的话,就不转移就行了. 但是这题坑爹在需要个数最小,这就不是字典序了. 那么暴力枚举选了多少个桶,那么有2^n种选法.每一种都dp一次. 但是据说,据说在很少步之内就能算出解,然后210ms过了. 26 2…
vijosP1159 岳麓山上打水 链接:https://vijos.org/p/1159 [思路] 迭代加深搜索+完全背包判断. 自己没有思路,看的别人代码. 总体上讲就是不断增大桶的数目并以之为上界搜索,用DP判断搜索是否可行.貌似数据很水所以可以较快通过. 其中DFSID(cur+1,dep)很奇妙,如果改成取i从0到n的搜索的话会TLE. [代码] #include<iostream> #include<cstring> #include<cstdlib> #i…
[vijos1159]岳麓山上打水 描述 今天天气好晴朗,处处好风光,好风光!蝴蝶儿忙啊,蜜蜂也忙,信息组的同学们更加忙.最近,由于XX原因,大家不得不到岳麓山去提水.55555555~,好累啊. 信息组有一个容量为q升的大缸,由于大家都很自觉,不愿意浪费水,所以每次都会刚好把缸盛满.但是,信息组并没有桶子(或者瓢)来舀水,作为组内的生活委员,你必须肩负重任,到新一佳去买桶子. 新一佳有p种桶子,每种桶子都有无穷多个^_^,且价钱一样.由于大家都很节约,所以你必须尽量少买桶子.如果有多种方案,你…
[vijos1159]岳麓山上打水 试题描述 今天天气好晴朗,处处好风光,好风光!蝴蝶儿忙啊,蜜蜂也忙,信息组的同学们更加忙.最近,由于XX原因,大家不得不到岳麓山去提水.55555555~,好累啊. 信息组有一个容量为q升的大缸,由于大家都很自觉,不愿意浪费水,所以每次都会刚好把缸盛满.但是,信息组并没有桶子(或者瓢)来舀水,作为组内的生活委员,你必须肩负重任,到新一佳去买桶子. 新一佳有p种桶子,每种桶子都有无穷多个^_^,且价钱一样.由于大家都很节约,所以你必须尽量少买桶子.如果有多种方案…
题目链接:https://vijos.org/p/1159 https://www.luogu.org/problem/show?pid=1494 这是今天的第三道迭代深搜的题,虽然都是迭代深搜的模板,都是一些基础题,但是还是觉得自己不行啊... 拿到题目后我就有了一个大胆的想法 然后自己仔细斟酌之后我就pass了他...我原本想在dfs中来记录下有几种水桶,现在询问的是哪一个水桶,当前这个水桶选了几个... 然而,这个想法实在是太大胆了.......在一番斟酌之后,我想到了一个神奇的东西叫记忆…
传送门 传送门 dfs选取集合,dp背包判断 虽然我觉的会TLE.. 但是的确是AC了 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define N 20001 int n, m; int a[N]; bool vis[N], f[N]; inline int read() { int x = 0, f = 1; char ch = getcha…
题面 迭代加深搜索模板题. 注意开始时要先对桶的容量从小到大排序. 达到搜索层数时使用完全背包\(\text{check}\)即可. 具体实现参考代码. #include <bits/stdc++.h> #define itn int #define gI gi using namespace std; inline int gi() { int f = 1, x = 0; char c = getchar(); while (c < '0' || c > '9') {if (c…
题目链接:https://www.luogu.org/problemnew/show/P1494 #include <cstdio> #include <algorithm> #include <iostream> #include <cmath> using namespace std; const int maxn = 50000+10; inline long long read() { long long k=0; char c; c=getchar…
题目:    链接:https://www.luogu.org/problemnew/show/P1494 题意:一些袜子排成一排,每个袜子有固定的颜色.                          每次询问在[l,r]的袜子中等概率选两只,求有多大的概率抽到两只一样颜色的. 思路: 其实 就是 求     莫队维护 一波 cnt[ i ] * cnt[ i ]    就是模板嘛 #include<bits/stdc++.h> #define LL long long using nam…
比较简单的莫队题,主要是为了熟练板子. 先考虑固定区间时我们怎么计算,假设区间\([l,r]\)内颜色为\(i\)的袜子有\(cnt_i\)只,那么对于颜色\(i\)来说,凑齐一双的情况个数为: \(cnt_i=0\)时,贡献为\(0\),这个我们特别处理(显然吧) \(cnt_i>0\)时,贡献为\(cnt_i\cdot (cnt_i-1)\) (先挑出一只再挑另一只) 最后我们考虑所有颜色以及总情况数,那么此时凑出一双的概率为: \[\frac{\sum cnt_i\cdot(cnt_i-1…
★.背包求方案数的时候,多重背包是不行的,因为产生重复的背包会有多种情况. ★.背包记录路径的时候,其实是不行的,因为更新了12的最优解,如果它依赖于6这个背包,然后你后面改变了6这个背包,就GG 1.01背包问题. tot:总背包空间,vall[i]:每件物品的价值,w[i]:每件物品的重量 http://acm.hdu.edu.cn/showproblem.php?pid=2602 01背包明显可以只写一维的,所以二维的就不写了. 关于为什么可以只写一维的呢?这就和你枚举的顺序有关了.从to…
[SinGuLaRiTy-1026] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [UVA 1025] A Spy in the Metro 题目描述 特工玛利亚被送到S市执行一个特别危险的任务.她需要利用地铁完成他的任务,S市的地铁只有一条线路运行,所以并不复杂. 玛利亚有一个任务,现在的时间为0,她要从第一个站出发,并在最后一站的间谍碰头.玛利亚知道有一个强大的组织正在追踪她,她知道如果一直呆在一个车站,她会有很大的被抓的风险,躲…
题目 最近房地产商 GDOI (Group of Dumbbells Or Idiots) 从 NOI (Nuts Old Idiots) 手中得到了一块开发土地. 据了解,这块土地是一块矩形的区域,可以纵横划分为 \(N\times M\) 块小区域.GDOI 要求将这些区域分为商业区和工业区来开发. 根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第 \(i\) 行第 \(j\) 列的区域,建造商业区将得到 \(A_{ij}\) 收益,建造工业区将得到 \…
[luogu]P1169 [ZJOI]棋盘制作 ——!x^n+y^n=z^n 题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳. 而我们的主人公小Q,正是国际象棋的狂热爱好者.作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好朋友小W决定将棋盘扩大以适应他们的新规则. 小Q找到了一张由N*M个正方形的格子组成的矩形纸片,每个格子被涂有黑白两种颜色…
和平镇,镇如其名,几百年来一直很和平,夜不闭户路不拾遗.可是这一年来,镇上金光寺的和尚却开始不断离奇死亡…… 衙门里新调来的李捕头正好负责这个案子,经过了几个月的不眠不休,现场侦查和缜密推理之后,一切终于真相大白了. 事情是这样的. 如何避免命案的发生呢? 换个角度看世界,只要对不增值的环节进行流程优化就能化解这场灾难. 我们先来了解一下取水的流程—— 从上图可以清晰地看出来,之所以花了大量的时间用于“上下山挑水”是因为山上没有水,“上下山挑水”就是可以优化的不增值活动.要去掉这些从取桶到将水倒…
这道题是昨天linkfqy dalao上课讲的一道题 当时他讲的时候就想到了一种玄学的搞法,然后不敢相信自己切掉了 没想到后来CHJ dalao也想到了这种算法,然后发现是对的 后来10min就切掉了 看来以后要活跃一点了 这里主要讲两种算法(想WQS二分这种高深的算法就不讲了) 首先讲题意:一个人它只能在某个时间点去跟看k个他的客人对话,或是结束他和当前这个客人的对话.但是它不能在两个连续的时间段进行讲话,问它最少需要多少时间来和k个客人对话. 1.堆 我们先按时间排序,处理出每一个时间段的长…
考虑边只有一种权值的简化情况.那么当且仅当两点可以通过边权<=x的边连通,且连通块内最大边权为x时,两点间存在路径max为x的路径.可以发现两种权值是类似的,当且仅当两点可以通过边权1<=x且边权2<=y的边连通,且连通块内最大边权1为x.最大边权2为y时,两点间存在路径max为(x,y)的路径. 一种权值的情况很好处理,从小到大加边并查集维护即可.观察数据范围容易想到根号算法.考虑类似回滚莫队的做法.按边权1将边分块,块内按边权2排序.处理某块时将所有权值1恰好小于该块max的询问找出…
题目描述: luogu 题解: 用$fft$水过(什么$ntt$我不知道). 众所周知,$fft$精度低,$ntt$处理范围小. 所以就有了任意模数ntt神奇$fft$! 意思是这样的.比如我要算$F*G$,我可以把这两个多项式各分成两个多项式,一个表示$F_x/M$,一个表示$F_x$%$M$($M$是自己设定的阈值). 比如说$F=a*M+b,G=c*M+d$,那么$F*G=(a*M+b)*(c*M+d)=a*c*M^2+a*d*M+b*c*M+b*d$. 然后?就水过了啊…… 顺便提一下,…
题目:https://www.luogu.org/problemnew/show/P1466 水题,注意开long long; 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std; ][],sum[]; int main() { scanf("%d",&n); ;i<=n;i++)sum[i]=(+i)*i/; ) { print…
中国文学本质上是一种君子文学,君子是中国文学的创作主体,君子与小人的人格冲突是中国文学矛盾冲突的主要形式.最早的君子是居住于城邦的贵族,而西周以来这一语词的道德化倾向愈来越重,渐渐摆脱了阶级意义而成为人格的象征.侯敏教授分析<周易>经传中“君子”一词的意义演化,古经中的君子具有贵族和智慧的意味,而<易传>中的君子则更多指向道德和人格的意义.杨隽教授则从风雅歌诗的角度分析君子人格中的艺术意蕴,歌诗言志体现了君子卓然不群的知识和艺术修养,而弦歌不绝则是君子坚守理想与追求的象征.赵玉敏副…
题目链接:https://www.luogu.org/problemnew/show/P1093 题目描述某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的. 任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的…
https://www.luogu.org/problemnew/show/P2858 方程很好想,关键我多枚举了一次(不过也没多大关系) #include <bits/stdc++.h> #define read read() #define up(i,l,r) for(register int i = (l);i <= (r); i++) using namespace std; ; int n,a[N],f[N][N]; int read { ;char ch = getchar(…
开个坑记录一下刷USACO的Training的记录 可能会随时弃坑 只有代码和做法简述 可能没有做法简述 [USACO1.1]你的飞碟在这儿Your Ride Is He… 模拟,细节已忘 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ],s2[]; int main() { ,ss2=; scanf("%s",&s1); scanf(&q…
https://www.luogu.org/problemnew/show/P4848 我的数据结构大概已经废了. 外层权值线段树内层kdtree,外层线段树上二分答案. 码数据结构一时爽,码完debug火葬场. 要rebuild时少写了个else什么的 插入不upd下去的时候没把值更新完比如sz什么的 比较Int的时候把外层数组套多套少什么的 拿什么拯救你,我的数据结构 吸氧才能过的代码,据说没人能不吸氧过. //Achen #include<bits/stdc++.h> #define F…
---恢复内容开始--- 题目描述 一天,szb 在上学的路上遇到了灰太狼. 灰太狼:帮我们做出这道题就放了你. szb:什么题? 灰太狼:求一个能被 [1,n] 内所有数整除的最小数字,并对 100000007 取模. szb:这题太水了,就让我小弟来做好了. 然后你就光荣的接受了这个任务. 输入输出格式 输入格式: 一行一个数 n. 输出格式: 一行一个数 ans. 数据范围 n <= 1e8 题目解析 真是凶残,1e8的数据 题目分析难度不大,很容易想到是求1~n的最小公倍数,但要求效率较…
P1494 小Z的袜子 终于了解了莫队算法(更专业的名称Square Root Decomposition of Queries) 莫队算法: 一般来说解决静态(实际上也有修改的但复杂度更高)的离线(离线意味着需要知道所有查询)区间查询 我理解的特点是从区间[L,R]到区间[L,R-1],[L+1,R],[L-1,R],[L,R+1]复杂度低 相较与线段树,线段树要求[l,mid],[mid,r]-->[l,r]复杂度较低 莫队时间复杂度为O(nlogn) 采用的是分块处理查询 实现需要注意的点…
P1223 排队接水 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 输入输出格式 输入格式: 输入文件共两行,第一行为n:第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格. 输出格式: 输出文件有两行,第一行为一种排队顺序,即1到n的一种排列:第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位). 输入输出样例 输入样例#1: 10 56 12 1 9…
题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为 \(n\) 分钟,从第 \(1\) 分钟开始到第 \(n\) 分钟结束.当尼克到达单位后他就开始干活,公司一共有 \(k\) 个任务需要完成.如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务开始时刻尼克正在工作,则这些任…