[JZOJ A组]球 题解】的更多相关文章

球(ball) [问题描述] 小 T 有 n 个桶和 2n − 1 个球,其中第 i 个桶能装前 2i − 1 个球.每个桶只能装一个球. 现在小 T 取了 m 个桶和 m 个球,并将这些球各自放在这些桶里.问这样的方案有多少. 两种方案不同当且仅当选择了不同的桶或球或者同一个桶在两种方案放了不同的球. 由于方案的数量可能很大,所以只需要求方案数模 998244353 后的结果. [输入格式] 从输入文件 ball.in 中读入数据. 第一行一个整数 T,表示数据组数. 接下来 T 行,每…
[题解]NOIP2017 提高组 简要题解 小凯的疑惑(数论) 不讲 时间复杂度 大力模拟 奶酪 并查集模板题 宝藏 最优解一定存在一种构造方法是按照深度一步步生成所有的联通性. 枚举一个根,随后设\(dp(i,j)\)表示最大深度为\(i\)且当前联通的集合是\(j\)的最小答案.预处理\(dis(u,j)\)表示当\(j\)集合内的点都存在时,\(u\)到这些点的最短的最短边. 转移: \[ dp(i,j)=\min \{dp(i-1,j),dp(i-1,s)+(i-1)\times \su…
[题解]NOIP2016 提高组 简要题解 玩具迷题(送分) 用异或实现 //@winlere #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; inline int qr(){ register int ret=0,f=0; register char c=getchar()…
## [JZOJ]2109 清兵线 题解 **FIRST 题目大意** 给你一些正整数,这些正整数为数轴上若干个点代表的数.现求:假设从原点出发,走m以内(包括m)的距离最多能够访问多少个点,输出m-每个点到达时已经走过的距离的累加和. **** **NEXT 前置结论** ![P1](https://img-blog.csdnimg.cn/20201006204224958.png#pic_center) 如图所示,首先我们假设数轴上有x,y两点,杀一个士兵的时间是$t_i$ ∵$t_i \e…
前言 以下的第十届蓝桥杯Java B组省赛的题目题解只是我个人的题解,提供一些解题思路,仅作参考,如有错误,望大家指出,不甚感激,我会及时更改. 试题 A: 组队 ----- 答案:490 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分如下表所示.请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少? [答案提交] 这是一道结果填空的题,你只需要算出结果后提交即可. 本题的结果为一…
题目及涉及的算法: 数字统计:入门题: 接水问题:基础模拟题: 导弹拦截:动态规划.贪心: 三国游戏:贪心.博弈论. 数字统计 题目链接:洛谷 P1179 这道题目是一道基础题. 我们只需要开一个变量 \(cnt\) 用于统计 \(2\) 出现的次数,然后从 \(L\) 到 \(R\) 去遍历每一个数 \(i\) ,对于 \(i\) 来说,我们去遍历它的每一位是不是 \(2\) ,如果是的话,则 \(cnt++\) .最后输出 \(cnt\) 即可. 实现代码如下: #include <bits…
题目链接:奶酪 这道题还是很水的,在下拿了满分. 并没有用什么高级的算法,我讲一下基本思路. 我们把每个洞都视为一个节点. 我们读入相关数据后,就先进行预处理,通过每个节点的信息和题目的规定,建立一张无向图,两个能相通的洞对应的节点之间有一条无向边,这样我们就建立好了一张图. 在建图的时候,我们还需要干一件事,那就是记录哪些是起点,哪些是终点. 接下来我们就对每一个节点进行bfs就行了,这样就可以了. 我们再结合代码讲解一下: #include<cstdio> #include<cstr…
还是神奇的链接 上面依然是题目. 这道题依然很简单,比起2015年的普及组t2好像还是更水一些. 不过这道题能讲的比第一题多. 我们一起来看一下吧! 这一题,我们首先将书的编号全部读入,存在一个数组里. 接下来我们需要对这个数组进行一个操作,那就是用sort排序,因为题目中说要求符合条件的编号最小的一本书,这样的话,排完序,操作会更方便,在后面就能体现. 排完序,我们采取在线处理,因为如果把需求全部读入后,再做,纯属浪费空间.所以我们边读边做. 那么接下来我们要做的就是把需求编号和书的末尾几个数…
B Interesting paths 考察范围:组合数学 此题是机器人走方格的变种,n*m的网格,从(1,1)走到(n,m),首先可以明确,水平要走m-1格,竖直要走n-1格,则走到目的地的任意一条路径必须走n+m-2格,呢么只要确定竖直要走的,剩下的就是水平要走的,则答案为 . 在Interseting paths要求左下角和右上角两个小矩阵不能走,则需要把整个网格依据两个小矩阵的水平和竖直边界分为两部分,依次运用组合数.例如 灰色区域之外为可走区域,分为两部分棕色,和黄色,则结果为 若是这…
题目涉及算法: 成绩:入门题: 图书管理员:模拟: 棋盘:最短路/广搜: 跳房子:RMQ/二分答案/DP(本人解法). 成绩 题目链接:https://www.luogu.org/problemnew/show/P3954 入门题,直接计算一下即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; int a, b, c; int main() { cin >> a >> b >> c; cout…
题目涉及算法: 买铅笔:入门题: 回文日期:枚举: 海港:双指针: 魔法阵:数学推理. 买铅笔 题目链接:https://www.luogu.org/problem/P1909 设至少要买 \(num\) 只笔,且对于每只钱币,设它的价格为 \(a\) ,笔数为 \(b\) ,则花费为最大的那个 \(\lceil \frac{num}{a} \rceil \times b\) . 实现代码如下: #include <bits/stdc++.h> using namespace std; int…
题目涉及算法: 珠心算测验:枚举: 比例简化:枚举: 螺旋矩阵:模拟: 子矩阵:状态压缩/枚举/动态规划 珠心算测验 题目链接:https://www.luogu.org/problem/P2141 因为数据量比较小,直接暴力枚举即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; const int maxn = 110; int n, a[maxn], cnt; bool exists[20020]; int main() {…
题目涉及算法: 计数问题:枚举: 表达式求值:栈: 小朋友的数字:动态规划: 车站分级:最长路. 计数问题 题目链接:https://www.luogu.org/problem/P1980 因为数据量不大,所以直接枚举一下每个数,然后统计一下x出现的次数就可以了. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n, x, cnt; int main() { cin >> n >> x; for (in…
题目涉及算法: 数字反转:模拟: 统计单词数:模拟: 瑞士轮:模拟/排序: 表达式的值:后缀表达式/DP. 数字反转 题目链接:https://www.luogu.org/problem/P1307 这道题目是一道基础的模拟题,只需要模拟将数字进行翻转就可以了,注意 \(0\) 和 负数. 实现代码如下: #include <bits/stdc++.h> using namespace std; void solve(int num) { if (num < 0) { putchar('…
题目涉及算法: ISBN号码:简单字符串模拟: 排座椅:贪心: 传球游戏:动态规划: 立体图:模拟. ISBN号码 题目链接:https://www.luogu.org/problem/P1055 简单字符串模拟. 实现代码如下: #include <bits/stdc++.h> using namespace std; char c, s[20], d; int cnt = 1, a; int main() { cin >> s; for (int i = 0; i < 1…
题目涉及算法: 陶陶摘苹果:入门题: 校门外的树:简单模拟: 采药:01背包: 循环:模拟.高精度. 陶陶摘苹果 题目链接:https://www.luogu.org/problem/P1046 循环一遍,找到有多少数小于等于陶陶的身高+椅子的高度的即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; int a[10], n, cnt, tt; int main() { for (int i = 0; i < 10; i +…
老师布置的作业,借博客这个平台一用 [总体感觉]对我而言比去年的难度大……特别是最后一题. 选择题 1.D 打印机属于输出设备 2.D 将全部进制转换为10进制进行对比,我的方法是每一位乘以进制的位数次方,最后加起来 3.D 1MB=1024kb*1024 每年必考的转换 4.B 广域网(WAN,Wide Area Network) 5.B 1984年第一届全国青少年信息学奥林匹克竞赛,虽然我是用今年减去届数算的 6.A 记得好像去年考过这个键盘的题目…… 7.A 我是找规律算出来的,没有严格证…
T1 化一下试子就ok code #include<cstdio> #include<algorithm> inline long long read() { long long x = 0,f = 1; char c = getchar(); while(c < '0' || c > '9') {if(c == '-')f = -1; c = getchar(); } while(c <= '9' && c >= '0') x = x *…
神奇的链接 上面时题目. 其实不得不说,这一题很水,比2015年的第一题水多了. 直接按题目套公式就行了,当然你也可以像我一样化简一下. 直接看代码: #include<cstdio> #include<cstring> #include<algorithm> //有些头文件不要也行 using namespace std; int main(){ //文件输入输出略去,用freopen即可 int a,b,c; scanf("%d%d%d",&am…
1. 输入一个字符串,求它包含多少个单词.单词间以一个或者多个空格分开. 第一个单词前,最后一个单词后也可能有0到多个空格.比如:" abc xyz" 包含两个单词,"ab c xyz " 包含3个单词. 如下的程序解决了这个问题,请填写划线部分缺失的代码. 注意:只填写划线部分的代码,不要填写任何多余的内容.比如已经存在的小括号,注释或说明文字等. #include <stdio.h> #include <string.h> #includ…
心路历程 预计得分:$30 + 0 + 0 = 30$ 实际得分:$0+0+0= 0$ T1算概率的时候没模爆long long了... A 我敢打赌这不是noip难度... 考虑算一个位置的概率,若想要$k$步把它干掉,那么与他距离为$1$到$k - 1$的点都必须阻塞 且距离为$k$的点至少有一个没被阻塞 概率的处理可以用前缀和优化. 这样看似是$O(n^3 logn)$,但是却不能通过,考虑在前缀和处理的时候有很多没用的状态(超出边界) 加一些剪枝即可 #include<cstdio>…
心路历程 预计得分:100 + 40 + 30 = 170 实际得分:100 + 30 + 0 = 130 T2有一个部分分的数组没开够RE了. T3好像是思路有点小问题.. 思路没问题,实现的时候一个细节没想过来.. Sol T1 直接把式子化开,发现都可以$O(1)$维护,做完了... #include<cstdio> #include<algorithm> #include<vector> #define LL long long using namespace…
题目 思路 这道题看上去就像一个动态规划!但是还是要把矩阵压成一行. 然后按 \(A\)数组 将结构体从小到大排个序. 随后我们开始了动规标准步骤: 确定状态 很显然, \(f_i\) 表示游览完第\(~i~\)个景点是的最长时间. Q(动规小白为啥动规小白要做这题啊):怎么看粗来的??? A:动规不是一维不行加一维的吗 确定转移方程 有了这个状态相信动规小白也能看粗来转移方程吧! 那么我们假设看完了第\(j\)个景点后就去了第\(i\)个景点(\(j~ \rightarrow ~i\)). 那…
解析 我们观察范围可以发现n非常的小,(一般来说不是搜索就是状压dp)所以说对于这题我们可以用记忆化搜索或者dp,我们发现起点不同那么最终答案也就不同,也就是说答案是跟起点有关的,于是我们便可以想到去枚举每个起点,那么我们可以定义状态 $ f[i] $ 表示当前状态为 $ i $ 的时候最小花费,那么我们可以写出状态转移方程 $ f[x|(1<<(j-1))]=min(f[x]+dis[i]* d[i][j],f[x|(1<<(j-1))]) $ ((1<<(j-1))…
题目涉及算法: 标题统计:字符串入门题: 龙虎斗:数学题: 摆渡车:动态规划: 对称二叉树:搜索. 标题统计 题目链接:https://www.luogu.org/problem/P5015 这道题目是一道基础题,考察你字符(串)的输入. 实现代码如下: #include <cstdio> char c; int cnt; int main() { while (c = getchar()) { if (c == EOF || c == '\n') break; if (c != ' ') c…
题目涉及算法: 金币:入门题: 扫雷游戏:入门题: 求和:简单数学推导: 推销员:贪心. 金币 题目链接:https://www.luogu.org/problem/P2669 入门题,直接开一个循环遍历一下就可以了. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n, ans = 0; int main() { cin >> n; for (int i = 1; n; i ++) { int t = min(i…
题目涉及算法: 质因数分解:入门: 寻宝:模拟: 摆花:动态规划: 文化之旅:搜索. 质因数分解 题目链接:https://www.luogu.org/problem/P1075 这道题目只需要开个 for 循环就能够把书求出来. 开一个循环变量 i 从 2 开始一直加加,碰到的第一个能够整除n的i,就输出 \(n/i\) 然后 break 即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n; int main() {…
题目涉及算法: 多项式输出:模拟: 分数线划定:模拟.排序: 细胞分裂:质因数分解: 道路游戏:动态规划. 多项式输出 题目链接:https://www.luogu.org/problem/P1067 纯模拟题.注意符号和1.0. 实现代码如下: #include <bits/stdc++.h> using namespace std; const int maxn = 110; int n, a[maxn]; int main() { cin >> n; for (int i =…
题目涉及算法: 奖学金:结构体排序: 纪念品分组:贪心: 守望者的逃离:动态规划: Hanoi 双塔问题:递推. 奖学金 题目链接:https://www.luogu.org/problem/P1093 这道题目就是一道简单的结构体排序. 实现代码如下: #include <bits/stdc++.h> using namespace std; const int maxn = 330; struct Student { int id, x, y, z; } a[maxn]; int n; b…
题目涉及算法: 明明的随机数:简单模拟: 开心的金明:01背包: Jam的计数法:模拟: 数列:二进制. 明明的随机数 题目链接:https://www.luogu.org/problem/P1059 简单模拟:排序+去重.使用 sort + unique 实现. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n, a[111]; int main() { cin >> n; for (int i = 0; i…