题解 zr1212 【20WC集训】货币】的更多相关文章

题目链接 我们给每个连通块图上一种颜色.不同的连通块涂不同的颜色. 首先,我们定义\(f_r\)表示:使\([l,r]\)包括\([1,r]\)里所有颜色的最大的\(l\). 然后我维护一个变量\(pos\),表示从\(pos\)到\(n\)的这些点\(i\)(\(\forall i\in[pos,n]\)),\([1,i]\)中包含了当前所有的颜色.容易发现这个条件就等价于\([1,pos]\)中包含了所有颜色.对每次操作显然\(pos\)是单调减的,所以就很好维护.在并查集时,令每个连通块的…
题面描述 有标号为1--n的城市与单行道相连.对于每条道路有两个与之相关的参数:道路的长度以及需要支付的费用(用硬币的数量表示) 鲍勃和爱丽丝曾经生活在城市1.在注意到爱丽丝在他们喜欢玩的卡牌游戏中作弊后,鲍勃决定与爱丽丝分手并搬走--去城市n.他希望尽快到达那里--越快越好,然而他现在有些现金短缺. 我们希望帮助鲍勃找到从城市1到城市n的一条最短路径--但他必须用他现有的钱支付得起. 输入输出格式 输入格式 输入的第一行含有一个整数t代表测试样例的组数.下面是t组测试样例. 对于每组测试数据,…
A - Biscuits 题目: 给出 \(n\) 个物品,每个物品有一个权值. 问有多少种选取方式使得物品权值之和 \(\bmod\space 2\) 为 \(p\). \(n \leq 50\) 题解: 记录一下 \(n\) 个物品中权值是奇数的数的个数. 分类讨论一下喽... #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long lon…
[TOC] 题目名称:货币系统 来源:2018年NOIP提高组 链接 博客链接 CSDN 洛谷博客 洛谷题解 题目链接 LibreOJ(2951) 洛谷(P5020) 大视野在线评测(1425) 题目内容 题目描述 在网友的国度中共有$n$种不同面额的货币,第$i$种货币的面额为$a[i]$,你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为$n$.面额数组为$a[1..n]$ 的货币系统记作$(n,a)$. 在一个完善的货币系统中,每一个非负整数的金额$x$都应该可以被表示出,即对每…
Arbitrage Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6522    Accepted Submission(s): 3019 Problem Description Arbitrage is the use of discrepancies in currency exchange rates to transform o…
[BZOJ4928]第二题 Description 对于一棵有根树,定义一个点u的k-子树为u的子树中距离u不超过k的部分. 注意,假如u的子树中不存在距离u为k的点,则u的k-子树是不存在的. 定义两棵子树是相同的,当且仅当不考虑点的标号时,他们的形态是相同的(儿子的顺序也需要考虑).给定一棵n个点,点的标号在[1,n],以1为根的有根树.问最大的k,使得存在两个点u !=v,满足u的k-子树与v的k-子树相同. Input 第一行输入一个正整数n. 接下来读入n个部分,第i个部分描述点i的儿…
[BZOJ4930]棋盘 Description 给定一个n×n的棋盘,棋盘上每个位置要么为空要么为障碍.定义棋盘上两个位置(x,y),(u,v)能互相攻击当前仅 当满足以下两个条件: 1:x=u或y=v 2:对于(x,y)与(u,v)之间的所有位置,均不是障碍. 现在有q个询问,每个询问给定ki,要求从棋盘中选出ki个空位置来放棋子,问最少互相能攻击到的棋子对数是多少? Input 第一行一个整数n. 接下来输入一个n×n的字符矩阵,一个位置若为.,则表示这是一个空位置,若为#,则为障碍. 第…
当下考的钟声叮当响起,该走了,一年半的OI竞赛就此结束 留下了很多遗憾.也拥有过一段美好的竞赛生活 结识了一群优秀的OI战友,一起进步一起开心一起忧愁,但这一切的一切都将在今晚变成过去式,CSp的好与坏已成回忆 真的该走了,科学馆早已人去楼空,只剩下我一人在机房向OI做最后的告别 机房里可真冷,凛冽的寒风敲打着窗户,叮当叮当,似乎是下考的铃声,又似乎是催促着我回去 回去?回到选择OI之前??亦或是NOIP2018之前的"欢快"时光??? 这......... 抛开这些伤心事,我想用文字…
[题解]P4247 [清华集训]序列操作(线段树修改DP) 一道神仙数据结构(DP)题. 题目大意 给定你一个序列,会区间加和区间变相反数,要你支持查询一段区间内任意选择\(c\)个数乘起来的和.对19940417取膜. 咋做 我们这一类题看来有一个套路就是用线段树维护一个DP数组,然后线段树节点合并就用一点组合的技巧.. 设\(dp(i)\)表示在该区间里选择\(i\)个乘起来的和,考虑如何合并区间,很简单就是 \[ dp(i)=\sum_{j=0}dp'(j)dp''(i-j) \] 先考虑…
题目描述 作为一名新世纪共产主义的接班人,你认识到了资本主义的软弱性与妥协性,决定全面根除资本主义,跑步迈入共产主义.但是当你即将跨入共产主义大门的时候,遇到了万恶的资本家留下的与非电路封印,经过千辛万苦的研究,你终于把复杂的破解转变成了以下问题: 初始时你有一个空序列,之后有N个操作. 操作分为一下两种: 1 x:在序列末尾插入一个元素x(x=0或1). 2 L R:定义nand[L,R]为序列第L个元素到第R个元素的与非和,询问nand[L,L]^nand[L,L+1]^nand[L,L+2…
啊...表示一大早还没睡醒就开始打比赛(开始前一分钟的我还在桌子上趴着休眠)...表示题目思路清奇(尤其C题)...但是我还是太蒻了...\(D\)题暴力都没打...题解正式开始之前先\(\%\)一下\(\color{#FF6161}{风浔凌}\)巨佬\(qwq\)...\(320\)真是太强了\(\%\%\%\)... \(A\) 你好诶加币 题目描述:就是简单的\(a+b\)啊(逃) 题目本质:数据范围是\(long\ long\)的\(a+b\)啊(逃) 思路:显然不可能直接算啊...所以…
刚刚开始集训,集训队队长暂时还没有拉专题,而是拉了部分codeforces上过题人数在2000左右的题组成了一场热身赛(其实就是一场练习),花了一天时间终于把它刷完了,其中很多题让我学到了很多骚操作,还有题是问了学长才会的,自己真的是太菜了! 题目链接:http://codeforces.com/contest/879/problem/C 题目: 题意:对于任意的一个数x,进行题目给的n种位运算,得到一个新数y,然后让你进行压缩,只进行k次位运算操作(0<=k<=5),也能将x变成y,y的范围…
题目链接:https://www.luogu.org/problemnew/show/P5020 这道题感觉比较水啊,身为普及组蒟蒻都不费力的做出来了,而且数据范围应该还能大一些,n起码几万几十万都不一定T.求过~ 分析: 本题是类似完全背包问题,分析样例我们可以得出结论:一种面值的货币如果可以由此系统中的其他货币组合而来,那么它就是可有可无的. 由此我们分析:不妨只在一个系统中做出删减,删掉尽可能多的面值不就行了吗? 对于每个数,我们判断其能否组合出,就成了典型的背包问题. 我们设f[i]f[…
P1474 货币系统 Money Systems 题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单位面值组成的. 母牛想知道有多少种不同的方法来用货币系统中的货币来构造一个确定的数值. 举例来说, 使用一个货币系统 {1,2,5,10,...}产生 18单位面值的一些可能的方法是:18x1, 9x2, 8x2+2x1, 3x5+2+1,等等其它.…
题目链接: 连我们都只有纸质题目...话说雅礼集训都是这样的吗... 大意 0维基本图形是一个点 1维基本图形是一条线段 2维基本图形是一个正方形 3维基本图形是一个正方体 4维基本图形是... 求\(n\)维基础图形中有多少个\(m\)维基础图形\((n>=m)\)并对\(998244353\)取模 分析 手玩样例打表吼啊 当然还是要暗中观察一下啦 线段变成正方形,点数变为原来两边,边数除了变为原来两倍之外还要加上原来点数所对应连起来的边 正方形变正方体也类似 于是我就yy出一个递推式\(nu…
问题A:Hello SUST! 知识点:基本输入输出 C/C++: #include <stdio.h> int main() { int n; scanf("%d", &n); while(n --) { printf("Hello SUST!\n"); } ; } 问题B:计算A+B 知识点:基本输入输出 C/C++: #include <cstdio> int main() { int a, b; while(~scanf(&q…
算不出的等式 BJOI2012 看到这题 真没什么办法 无奈看题解 1.注意到p/q 联想到斜率 2.注意到 [ ] 联想到整点 注意到k在变化,构造一次函数 f(x)=p/q*x ,g(x)=q/p*x 收到[] 的影响,y值即为f(x)下取整后的值,即垂线上整点的个数 又考虑到p==q时 需特判 于是有 #include<iostream> #include<cstdio> #include<string> #include<algorithm> #in…
B: 牛牛战队的比赛地(二分做法)题意:二维平面给定n个点,在x轴找一点使得到n个点距离的最大值最小. 思路:我们可以将问题转化为在x轴找到一个圆心,使得该圆包含这n个点且半径最小,这样就变成了最小圆覆盖问题.有关于最大值最小此类问题,我们第一个想到的就应该是二分了,关键在于二分半径后如何check呢?首先我们需要明白这样一个前提,也是解题的关键点:一个半径为R的圆,我们任意在圆上或圆内找一个点,也做半径为R的圆,那么这个圆一定会包含之前那个圆的圆心.明白了这个,问题就easy了,我们将二分得到…
原题链接 简要题意: 求一个长度最小的货币系统与给出的货币系统等价.求这个货币系统的长度.等价的定义详见题目,不再赘述. 本文可能用到一些集合论,请放心食用. 算法一 \(n=2\) 时,只需判断两个数的倍数关系.有倍数关系则答案为 \(1\),否则为 \(2\). 时间复杂度:\(O(T \times n)\). 实际得分:\(15pts\). 算法二 \(n=3\) 时,首先,如果两个数都是另一个数的倍数,那么答案为 \(1\). 否则,如果仍存在倍数关系,则答案为 \(2\). 其余的情况…
目录 T1 面试 描述 题目描述 输入描述: 输出描述: 题解 代码 T2 纸牌游戏 描述 题目描述 输入描述: 输出描述: 题解 代码 T3 涨薪 描述 题目描述 输入描述: 输出描述: 题解 代码 T4 描述 题目描述 输入描述: 输出描述: 题解 代码 T1 面试 描述 题目描述 牛牛内推了好多人去牛客网参加面试,面试总共分四轮,每轮的面试官都会对面试者的发挥进行评分.评分有 A B C D 四种.如果面试者在四轮中有一次发挥被评为 D,或者两次发挥被评为 C,就不会通过面试.如果面试者没…
题目传送门 Description 给出一个长度为 \(n\) 的 \(01\) 串为 \(s\),设 \(t_i\) 为 \(s_{1,2,..,i}\),有 \(m\) 次查询,每次查询给出 \(l,r\),求 \([l,r]\) 之间 \(t_i\) 的最长公共后缀长度的最大值. \(n,m\le 10^5\) Solution 本来不想写题解的,但想了想还是写一下吧. 不难想到,假设 \(f_i\) 为 \(t_i\) 在后缀自动机上对应的点,那么就相当于查询: \[\max\{\tex…
传送门 一个手动枚举能过一半点而且基本靠数学的题目(然而我考试的时候只有25分) 读清题目后发现就是凑数嘛,.... 对啊,就是凑数,怎么凑是重点啊.. 于是就绝望了一小时手动枚举n从1到5的情况 吐槽完毕,开始分析:1.大的数只能由小的数凑出(好像是废话,但确实有用) 2.最小的数必须选 3.一个数的倍数也能凑出 4.一个数减去需要的数能被凑出的话这个数肯定能凑出(比如你有2,3,那么5-3=2,如果2可以凑出那么5也可以凑出) 5.除此以外在没有可以凑出的数 交代码 #include<bit…
从这里开始 Problem A 生日礼物 Problem B 咕咕 Problem C 解决npc (相信来看这篇博客的人都有题面) T2以为可以线性递推,然后花了两个小时.然后想了两个小时T1,会了一个能过的算法.但是没时间写,sad.....比赛快结束时,发现T2模数$10^9+7$,内心mmp. Problem A 生日礼物 题目大意 给定一个$n\times m$的网格图,每个格子中有一个不是0就是1的数,要求对于任意$w\times h$的子矩阵的和都相等,问方案数. (为了简洁,各式…
*注意:这套题目题面请在loj / uoj查看 从这里开始 题目列表(loj) Problem A 小 Y 和地铁 Problem B 小 Y 和二叉树 Problem C 小 Y 和恐怖的奴隶主 训练Day1,O不知道要出题,下午才知道要出题,随手扔一套清华集训让我们loj上做,Emmm.好像确实也只有noip+难度(平时我们的noip模拟大概是noip普及组模拟),完全没达到清华集训的难度,当场集训队选手基本上200+.然后我这个智障T3犯傻,期望1个小时过掉 T3,实际3个小时,sad..…
T1 园艺工人的求助 [题目描述]终于,在一段繁忙的训练之后,到了NOIP 的举办的时候.同学们坐上了大巴车,享受着沿途的风光,讨论着未解决的问题,憧憬着NOIP 赛场上切题的样子.很快,大巴车到了大连大学科技楼,也就是辽宁NOIP 的举办地点.大连大学科技楼是一幢宏伟的建筑,楼前摆放有一排花,共有n 盆.花一共只有26 种,分别用26 个小写英文字母表示,也就是说,楼前的这排花可以用一个仅包含小写英文字母的字符串表示.大连大学雇了一个园艺工人,专门打理科技楼前的花.园艺工人看见你,热情地向你打…
T1准确率 [题目描述] 你是一个骁勇善战.日刷百题的OIer. 今天你已经在你OJ 上提交了y 次,其中x次是正确的,这时,你的准确率是x/y.然而,你最喜欢一个在[0; 1] 中的有理数p/q(是一个既约分数),所以你希望再进行若干次提交,使你的准确率变为p/q. 当然,由于你的实力很强,你可以随意决定进行多少次正确的提交和多少次错误的提交. 同时,你不希望把一天的时间都用在提交上,所以你想求出最少还要进行多少次提交(包括正确的和错误的),才能达到这一目标.注意:本题中,0/1 和1/1 都…
Prelude 快要THUWC了,练一练板子. 传送到LOJ:o(TヘTo) Solution 首先有一条定理. 到树中任意一点的最远点一定是直径的两个端点之一. 我也不会证反正大家都在用,似乎可以用反证法搞一搞? 然后就是LCT和并查集随便做了. 对于每个连通块,只需要保存这个连通块的直径的两个端点就可以了. 然后合并两个连通块的时候更新一下. Code #include <cstring> #include <algorithm> #include <cstdio>…
这算不算泄题啊...被kkk发现会咕咕咕吧. 题目大意:给定一个数列a,与常数n,m,k然后有m个询问,每个询问给定l,r.问在a[l]到a[r]中最少分成几段,使每段的和不超过k,如果无解,输出Chtholly 样例: input: 5 5 72 3 2 3 43 34 45 51 52 4 output: 11122 解答: 首先观察数据范围,n<=1e+6 可能的复杂度为O(mlogn).暴力能搞30分吧. 其实这题还是很妙的.我们先考虑暴力:对于[L,R],设个res,对[l,r]从左往…
A.最长路 题意:给定有向图,每条边有个字符\([0,10^9]\),求每个点最长路字典序最小的方案.\(N,M\le 10^6\) 建反图跑拓扑排序,显然入过队的点都有最长路,考虑如何判断字典序大小,一种方案是把每个点转移过来的路径字符串哈希一下,然后用倍增比较两个字符串的大小复杂度\(O(N+Mlog_2M)\) 第二种方案是每次对最长路相同的点以入边上的字符为第一关键字,起点的排名(之前已经排过了)为第二关键字排序,这样可以保证字典序小的先更新 代码是第一种方法 #include<bits…
思路 判断钱数是否可以转化为其他钱数的和 与楼下不同,我没有用sort.而是用了一个数组来特判. 思路其实只是简单dp. 详见代码. #include<cstdio> using namespace std; int t; int main() { scanf("%d",&t); while(t>0) { t--; int n; scanf("%d",&n); int a[30000],d[30000]={0},c=0,f[3000…