
C++难题
文章平均质量分 70
很难做对的题
Keven_11
这个作者很懒,什么都没留下…
展开
-
C++题解:矩阵快速幂 求 斐波那契数列
一般先构造最后表示答案的矩阵,比如这里我们构造一个 1×2 的矩阵里边填上最开始的两项[a1,a2] ,接下来我们考虑把它往后推到 [a2,a3] ,那么我们需要构造一个矩阵,让 [a1,a2] 乘这个矩阵得到 [a2,a3]。依次看后边矩阵的每一项,看它可以由前边矩阵里边的每一项怎么凑出来,会发现 a2=a2,a3=a1+a2,所以构造一个 2×2 的矩阵 A=[0,1,1,1] ,这样就可以按照矩阵乘法递推,然后用矩阵快速幂解决问题了。这里n的范围极大,只能用矩阵快速幂。..原创 2022-08-18 16:22:46 · 1575 阅读 · 0 评论 -
C++题解:苹果树
题目1500ms 131072K蒜头君的庄园里有一棵苹果树,树上有N个节点被N−1个树枝相连,蒜头君分别将它们标号为1到N,其中根为1号节点,每个节点开始的时候都有苹果,不过树上的苹果也是在变化的,有时某个节点会长出一个苹果,有时某个节点的苹果会被摘掉,蒜头君想知道某时刻某节点及其子树上一共有多少苹果,请你帮帮他。输入格式输入第一行两个整数 N,M,表示一共有N个节点,M次操作(节点状态更改或询问)(1≤N,M≤106)。接下来N - 1行,每...原创 2022-02-03 18:04:05 · 2074 阅读 · 0 评论 -
C++题解:公告板
目录题目输入格式输出格式题解:知识点:分析:代码:题目1000ms 131072K蒜厂有一个 h×w的矩形公告板,其中h是高度,w是宽度。现在有若干张 1×Wi的公告, Wi是宽度,公告只能横着放,即高度为1的边垂直于水平面,且不能互相有重叠,每张公告都要求尽可能的放在最上面的合法的位置上。若可以放置,输出每块可放置的位置的行号;若不存在,输出−1。行号由上至下分别为1,2,...,h。输入格式第一行三个整数h,w,n...原创 2022-01-31 16:55:51 · 395 阅读 · 0 评论 -
C++题解:慈善晚会
经典题目注:As the time goes by,I have turned middle school student.So I'm shortof time.From now on, I will not write comments in the code. It may not be satisfaction with you.Sorry.目录题目输入格式输出格式题解:题目1000ms 131072K 蒜头君热心公益,他想要在近期举办一场慈善晚宴...原创 2022-01-25 17:14:55 · 968 阅读 · 0 评论 -
C++题解:公路
目录题目输入格式输出格式题解:题目1000ms 131072K蒜头君有一些蒜园子,这些园子是由公路相互连通,其中一些形成回路的参观路线。如果有一条公路被多条参观路线公用,那么就可能会发生冲突;如果一条公路没有在任何一个回路内,那么就不会发生冲突。简单来说,就是在一个无向图中。如果至少有两个环共用了一些边,那么这些边被认为是“冲突边”。如果一些边不在任何一个环中,这些边被认为是“多余边”。请问有多少条公路有冲突,多少条公路没有冲突,另外这图不一定是连通的。输入格式..原创 2022-01-18 17:26:02 · 887 阅读 · 1 评论 -
C++题解:网络大战
目录题目题解:题目1000ms 131072K一场无硝烟的战争即将爆发,蒜头君和花椰妹接到上级任务——破坏敌方通信网络。破坏敌方通信网络并不是一件简单任务,蒜头君和花椰妹只能各自破坏敌方通信网络中的一个节点。破坏两个节点后,如果敌方至少有两个节点无法通信(除了已被破坏的两个节点),就认为蒜头君和花椰妹破坏成功。为了简化问题,请你计算蒜头君和花椰妹有多少种方法可以成功破坏敌方通信网络。输入格式第一行输入两个整数 n(3≤n≤1000)和 m(0≤m≤10000)...原创 2021-12-04 19:12:14 · 1264 阅读 · 0 评论 -
C++题解:[CSP-J2020]表达式
目录题目题解:题目小C热衷于学习数理逻辑。有一天,他发现了一种特别的逻辑表达式。在这种逻辑表达式中,所有操作数都是变量,且它们的取值只能为0或1,运算从左往右进行。如果表达式中有括号,则先计算括号内的子表达式的值。特别的,这种表达式有且仅有以下几种运算:与运算:????&????。当且仅当????和????的值都为1时,该表达式的值为1。其余情况该表达式的值为00。 或运算:????|????。当且仅当????和????的值都为0时,该表...原创 2021-10-17 18:12:56 · 2280 阅读 · 1 评论 -
C++题解:[NOIP2008pj]立体图
目录题目题解题目小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。小渊有一块面积为m×n 的矩形区域,上面有 m×n个边长为1的格子,每个格子上堆了一些同样大小的积木(积木的长宽高都是1),小渊想请你打印出这些格子的立体图。我们定义每个积木为如下格式,并且不会做任何翻转旋转,只会严格以这一种形式摆放:每个顶点用11个加号+表示,长用33个−表示,宽用11个...原创 2021-10-05 18:01:32 · 863 阅读 · 0 评论 -
C++题解:[NOIP2013] 货车运输
目录题目题解题目A 国有n座城市,编号从1到n,城市之间有m条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有q辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入格式输入文件第一行有两个用一个空格隔开的整数n,m,表示 A 国有n座城市和m条道路。接下来m行每行3个整数x、y、z,每两个整数之间用一个空格隔开,表示从x号城市到y号城市有一条限重为z的道路。注意:x不等...原创 2021-08-24 22:33:04 · 2108 阅读 · 1 评论 -
C++题解:位运算
目录题目题解题目1000ms 131072K蒜头君有一个包含n个数的数组,他想把这个数组分成m段,然后在每一段里求出所有数异或的结果,然后再把这m个数求按位或以后的结果。蒜头君想知道他想要的结果最小可以是多少。输入格式输入第一行包含两个整数n,m(1≤m≤n≤5×105),分别表示数组的大小和段数。第二行包含n个整数ai(0≤ai≤1018),表示数组中的每个数。输出格式表示最小的结果。输出时每行末尾的多余空格...原创 2021-08-14 15:30:40 · 440 阅读 · 0 评论 -
C++题解:糖果
目录题目题解题目3000ms 524288KDD 生活在一个城镇里,这个城镇上有n个糖果铺,其中第i个坐标是(xi,yi),因为她很可爱,所以每当她经过一个糖果铺的时候店主就会送给她一个糖果,需要注意的是如果她多次经过同一个店铺是可以收获多颗糖的。她初始的时候站在原点上,每次可以选择前往一个除自己以外的店铺,但是 DD 很懒,她希望每次行走的距离的严格小于上一次行走的距离,她现在想知道自己最多可以收获多少个糖果输入格式第一行一个整数表示n接...原创 2021-08-12 17:49:28 · 1437 阅读 · 0 评论 -
C++题解:Darko 的小球
目录题目题解题目Darko 是一个喜欢数数的女孩子,她喜欢唱,跳,rap 和玩球。Darko 有n个黑球和m个白球,她想把这些球放进n个不同的盒子。求满足每一个盒子内黑白球不同时出现的方案数,两个方案不同当且仅当存在对应盒子内黑白球个数不同。n,m≤106。答案对 998244353取模。输入格式输入共11行22个整数n,m。输出格式输出共11行一个整数表示方案数对 998244353取模的结果。数据规模与约定...原创 2021-08-12 09:17:51 · 1011 阅读 · 0 评论 -
C++题解:[NOIP2014]子矩阵
目录题目题解题目1000ms 131072K使得x^x达到或超过n位十进制正整数的最小正整数x是多少?输入格式一个正整数n(1≤n≤2⋅10^9),表示位数。输出格式最小正整数x。输出时每行末尾的多余空格,不影响答案正确性要求使用「文件输入输出」的方式解题,输入文件为function.in,输出文件为function.out样例输入5样例输出6题解:知识点:高中数学、对数函数分析:n ...原创 2021-08-11 15:49:37 · 1723 阅读 · 3 评论 -
C++题解:奇怪的函数
目录题目题解题目1000ms 131072K使得x^x达到或超过n位十进制正整数的最小正整数x是多少?输入格式一个正整数n(1≤n≤2⋅10^9),表示位数。输出格式最小正整数x。输出时每行末尾的多余空格,不影响答案正确性要求使用「文件输入输出」的方式解题,输入文件为function.in,输出文件为function.out样例输入5样例输出6题解:知识点:高中数学、对数函数分析:n 位...原创 2021-08-11 12:54:54 · 694 阅读 · 0 评论 -
C++题解:序列
目录题目题解题目1000ms 131072K有一个整数序列,它的每个数各不相同,我们不知道它的长度是多少(即整数个数),但我们知道在某些区间中间至少有多少个整数,用 (Li,Ri,Ci)来描述,表示这个整数序列中至少有C_i个数来自区间 [Li,Ri],给出若干个这样的区间,问这个整数序列的长度最少能为多少?输入格式第一行一个整数 N(1≤N≤1000),表示区间个数;接下来NN行,每行三个整数Li,Ri,Ci(1≤Li≤...原创 2021-08-11 12:42:41 · 1357 阅读 · 0 评论 -
C++题解:狼人杀
目录题目题解题目有一天蒜头邀请了包含自己一共n位朋友玩狼人杀游戏。狼人杀游戏每一局需要有n - 1位玩家和1位上帝,上帝不参与游戏负责监督和提供信息,所大家都不愿意当上帝。现在蒜头知道第i个朋友至少想当a_i次玩家,那最少要玩多少局狼人杀才能满足大家的要求?请你帮蒜头计算一下。输入格式输入第一行一个整数 n(3≤n≤105)表示朋友人数。接下来一行输入n个空格分割的整数 a1,⋯,an(1≤ai≤10^9)。输出格式输...原创 2021-08-11 12:29:09 · 963 阅读 · 0 评论 -
C++题解:奇怪的花卉
目录题目题解题目小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问题:一株奇怪的花卉,上面共连有N朵花,共有N−1条枝干将花儿连在一起,并且未修剪时每朵花都不是孤立的。每朵花都有一个“美丽指数”,该数越大说明这朵花越漂亮,也有“美丽指数”为负数的,说明这朵花看着都让人恶心。所谓“修剪”,意为:去掉其中的一条枝...原创 2021-08-10 18:02:06 · 684 阅读 · 3 评论 -
C++题解:工作城市分配
目录题目题解题目1000ms 65536K蒜厂在北京和上海两个城市各有一间办公室。该公司最近新招募了2N名员工,小蒜负责把这2N2N名员工分配到北京和上海各N名。于是小蒜调查了新员工对于北京和上海的意愿,我们用B_i和S_i表示。B_i代表如果分配第i名员工去北京,他的满意指数;S_i代表如果分配去上海,他的满意指数。小蒜想知道如何分配才能使2N名员工的满意指数之和最高。输入格式第一行包含一个整数N。以下2N...原创 2021-08-10 16:38:41 · 853 阅读 · 1 评论 -
计蒜客lca批注
#include<bits/stdc++.h>using namespace std;const int NOIP=1e5+5;int n,q,p[NOIP],eid;void init(){ memset(p,-1,sizeof(p));//初始化 }struct Edge{ int v,next;}e[NOIP];void insert(int u,int v){ e[eid].v=v; e[eid].next=p[u]; p[u]=eid++;}//链式前向星.原创 2020-08-24 16:15:12 · 274 阅读 · 1 评论 -
C++ 火柴棒问题 (深度优先搜索+剪枝)
C++ 火柴棒问题 (深度优先搜索+剪枝)有一个由火柴棒作为边组成的N×N 的格子。(N≤5)按照下图,给火柴棒编号。(这是 N=3 的情况,其它情况类似)https://res.jisuanke.com/img/upload/20180622/4b5a2151fbd2e8151cec08b0920cddc1e3182109.png 这是此图链接现在将移除某些火柴棒的状态作为初始状态...原创 2020-04-11 16:52:03 · 1416 阅读 · 2 评论 -
C++超级书架(深度优先搜索)
C++超级书架(深度优先搜索)Farmer John 最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。 所有 )N(1≤N≤20) 头奶牛都有一个确定的身高 Hi (1≤Hi≤1,000,000)。设所有奶牛身高的和为 S。书架的高度为 B,并且保证 1≤B≤S。 为了够到比最高的那头奶牛还要高的书架顶,奶牛...原创 2020-04-12 15:36:10 · 2587 阅读 · 1 评论 -
C++过河(动态规划dp)
C++过河(动态规划dp)在一个夜黑风高的晚上,有 n 个小朋友在桥的这边,现在他们需要过桥,但是由于桥很窄,每次只允许不超过两人通过,他们只有一个手电筒,所以每次过桥后,需要有人把手电筒带回来,第 i 号小朋友过桥的时间为 a[i],两个人过桥的总时间为二者中时间长者。问所有小朋友过桥的总时间最短是多少。输入格式第一行输入一个整数 n,表示有 n 个小朋友。第二行有 n 个整数 ai ,...原创 2020-04-12 15:46:26 · 3331 阅读 · 4 评论