一本通1644【例 4】佳佳的 Fibonacci】的更多相关文章

1644:[例 4]佳佳的 Fibonacci 时间限制: 1000 ms         内存限制: 524288 KB sol:搞了大概一个多小时什么结果都没,被迫去看题解,感觉自己菜到家了qaq 大家一起膜henry_y神仙 /* 原式 f[i] = f[i-1]+f[i-2] T[n] = f[1]+f[2]*2+f[3]*3+...+f[n]*n 令 S[n] = f[1]+f[2]+f[3]+...+f[n] n*S[n] = n*f[1]+n*f[2]+n*f[3]+...+n*f…
#include<cstdio> #include<cstring> #include<iostream> #include<cmath> #include<string> #include<algorithm> using namespace std; typedef long long ll; ; ; ll n,m,f2,f1,s1,p1; ll sn,pn,tn; struct node{ ll g[M][M]; }mat,re…
佳佳的 Fibonacci \(f_n=f_{n-1}+f_{n-2},f_1=f_2=1\),求\(f_1+2f_2+3f_3+...+nf_nmod\ m,1≤n,m≤2^{31}-1\). 解 数列问题加比较大的数据范围,就很容易到与矩阵快速幂有关,于是尝试变换式子,注意任何小的看起来不起眼的式子变换都有不同的结果,注意递推转移常用的不是策略,而是问题的划分 法一: 设\(t_n=f_1+2f_2+...+nf_n\),有\(t_n=t_{n-1}+nf_n\),现在关键在于求\(nf_n…
描述 佳佳的魔法照片(mphoto.pas\c\cpp) [题目背景] 佳佳的魔法照片(Magic Photo):如果你看过<哈利•波特>,你就会知道魔法世界里的照片是很神奇的.也许是因为小魔法师佳佳长的太帅,很多人都找他要那种神奇的魔法照片,而且还都要佳佳和他的MM的合照.那些照片可是非常珍贵的,他到底应该把照片给谁呢? [题目描述] 一共有n个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从…
[vijos1284]佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放…… 描述 魔法阵是一个n*m的格子(高n,宽m),n*m为偶数.佳佳手中有n*m个宝石(以1~n*m编号).佳佳从最右上角的格子开始走,从一个格子可以走到上.下.左.右4个相邻的格子,但不能走出边界.每个格子必须且仅能到过1次,这样佳佳一共走了n*m个格子停止(随便停哪里).佳佳每进入一个格子,就在该格子里…
P1875 佳佳的魔法药水 题目描述 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 ……怎么样才能得到 0 号药 水呢?你要知道佳佳的家境也不是很好,成本得足够低才行…… 题目描述: 得到一种药水有两种方法:可以按照魔法书上的指导自己配置,也可以到魔法商店里去 买——那里对于每种药水都有供应,虽然有可能价格很贵.在魔法书上有很多这样的记载: 1 份 A 药水混合 1 份 B 药水就可以得到 1…
P1875 佳佳的魔法药水 题目描述 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 --怎么样才能得到 0 号药 水呢?你要知道佳佳的家境也不是很好,成本得足够低才行-- 题目描述: 得到一种药水有两种方法:可以按照魔法书上的指导自己配置,也可以到魔法商店里去 买--那里对于每种药水都有供应,虽然有可能价格很贵.在魔法书上有很多这样的记载: 1 份 A 药水混合 1 份 B 药水就可以得到 1…
https://www.luogu.org/problemnew/show/1875 题目背景 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 ……怎么样才能得到 0 号药 水呢?你要知道佳佳的家境也不是很好,成本得足够低才行…… 题目描述 得到一种药水有两种方法:可以按照魔法书上的指导自己配置,也可以到魔法商店里去 买——那里对于每种药水都有供应,虽然有可能价格很贵.在魔法书上有很多这样的记载:…
佳佳的魔法照片 背景 佳佳的魔法照片(Magic Photo):如果你看过<哈利·波特>,你就会知道魔法世界里的照片是很神奇的.也许是因为小魔法师佳佳长的太帅,很多人都找他要那种神奇的魔法照片,而且还都要佳佳和他的MM的合照.那些照片可是非常珍贵的,他到底应该把照片给谁呢? 描述 一共有n个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从大到小进行排序,每人就有了一个序号D[i](取值同样是1-…
佳佳的魔法药水 背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水--怎么样才能得到0号药水呢?你要知道佳佳的家境也不是很好,成本得足够低才行-- 描述 得到一种药水有两种方法:可以按照魔法书上的指导自己配置,也可以到魔法商店里去买--那里对于每种药水都有供应,虽然有可能价格很贵.在魔法书上有很多这样的记载:1份A药水混合1份B药水就可以得到1份C药水.(至于为什么1+1=1,因为--这是魔法世界)好了,现在你知…
佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放-- 描述 魔法阵是一个\(n \times m\)的格子(高n,宽m),\(n \times m\)为偶数.佳佳手中有\(n \times m\)个宝石(以\(1 \to n \times m\)编号).佳佳从最右上角的格子开始走,从一个格子可以走到上.下.左.右4个相邻的格子,但不能走出边界.每个格子必须且仅能到过1次,这样佳…
佳佳的魔杖 背景 配制成功了珍贵的0号药水,MM的病治好了.轻松下来的佳佳意外的得到了一个好东西--那就是--一种非常珍贵的树枝.这些树枝可以用来做优质的魔杖!当然了,不能只做自己的,至少还要考虑到MM的对吧.选择怎样的切割方式来制作魔杖非常重要,关键问题是--一把魔杖既不能太长.又不能太短,且制作出来的魔杖不能有冲突-- 描述 佳佳得到的这些树枝在属性上完全相同.每一个树枝都有n段(用1~n编号),给定了每段的长度L[i]和每段的魔力值M[i].单独的一段是不可以从中间切开的,你可以做的就是选…
题目名称:佳佳买菜 描述 佳佳是我们的ACM社团的副社长,她感觉得自己没存在感,so-由于实验室要聚餐了,佳佳决定买点菜,来做菜给大家吃.佳佳喜欢吃娃娃菜,于是她来到买菜的地方.佳佳:我要10斤娃娃菜.老板称完 10斤一共是20元.佳佳看这次的菜比以往的少了点,但单纯的佳佳没想太多.一旁的琛哥看了下,把菜篮和娃娃菜一起放在称上,显示是28元,但篮子的重量是2斤,琛哥直接说:老板还我们10元.老板愣了一下,还给了佳佳10块钱. 输入 第一行一个整数T表示数据组数.接下来T行,每行输入4个不超过10…
vijosP1285 佳佳的魔法药水 链接:https://vijos.org/p/1285 [思路] 图论思想. 很巧妙. 如A+B=C,将AB之间连边,边权为C,用以找相连物品与合成物. 用Dijkstra的思想:找最小价值,如果相连物品中有已经得出最小价值的则共同更新其合成物. 对于方案数用乘法原理在更新的时候顺便计算. [代码] #include<iostream> #include<cstring> #include<cstdio> using namespa…
背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水……怎么样才能得到0号药水呢?你要知道佳佳的家境也不是很好,成本得足够低才行…… 描述 得到一种药水有两种方法:可以按照魔法书上的指导自己配置,也可以到魔法商店里去买——那里对于每种药水都有供应,虽然有可能价格很贵.在魔法书上有很多这样的记载:1份A药水混合1份B药水就可以得到1份C药水.(至于为什么1+1=1,因为……这是魔法世界)好了,现在你知道了需要得到某种…
洛谷 P1583 魔法照片 洛谷传送门 JDOJ 1396: VIJOS-P1282 佳佳的魔法照片 JDOJ传送门 Description 一共有n个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从大到小进行排序,每人就有了一个序号D[i](取值同样是1--n).按照这个序号对10取模的值将这些人分为10类.也就是说定义每个人的类别序号C[i]的值为(D[i]-1) mod 10 +1,显然类别…
原文:Quartz.NET | 佳佳的博客 Quartz.NET 是一个定时计划任务的框架,支持 .NET Core. 本文示例代码大部分来自于官方教程:Quartz.NET - Quartz.NET 3.x Tutorial Target Framework:.NET Core 2.2Quartz:3.0.7 使用前首先要使用 NuGet 安装 Quartz.NET. Install-Package Quartz 标准的定时任务写法 // construct a scheduler facto…
Description 一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从大到小进行排序,每人就有了一个序号D[i](取值同样是1--n).按照这个序号对10取模的值将这些人分为10类.也就是说定义每个人的类别序号C[i]的值为(D[i]-1) mod 10 +1,显然类别序号的取值为1--10.第i类的人将会额外得到E[i]的权值.你需要做的就是求出加上额外权值以后,最…
题目链接 题目大意 $$F[i]=F[i-1]+F[i-2]\ (\ F[1]=1\ ,\ F[2]=1\ )$$ $$T[i]=F[1]+2F[2]+3F[3]+...+nF[n]$$ 求$T[n]\ mod\ m$ $n,m<=2^{31}-1$ 这题的递推式推导有点神仙,完全想不到多用两个数组来形成递推式.研究了一下一本通上面的两个辅助数组的用途然后才会推出来这个转移矩阵 还是太菜了 题解 由题目可得  $$F[i]=F[i-1]+F[i-2]\ (\ F[1]=1\ ,\ F[2]=1\…
题目传送门 如果之前推过斐波那契数列前缀和就更好做(所以题目中给出了). 斐波那契数列前缀和题目链接 先来推一下斐波那契数列前缀和: \[\sum\limits_{i=1}^nf(i) \] 其中 \(f(i)\) 表示Fibonacci数列第 \(i\) 项. 直接推式子: 记 \(s(x)=\sum\limits_{i=1}^xf(i)\) 将右边一项项展开得出 \[f(1)=1 \] \[f(2)=1 \] \[f(3)=f(1)+f(2) \] \[f(4)=f(2)+f(3) \] \…
题面 题解 可以发现\(T(n)\)无法用递推式表示. 于是我们做如下变形: \[ T(n) = \sum _ {i = 1} ^ n i \times f_i \\ S(n) = \sum _ {i = 1} ^ n f_i \\ \therefore nS(n) - T(n) = \sum _ {i = 1} ^ {n - 1} (n - i)f_i \\ \] 令\(p(n) = nS(n) - T(n)\) 则\(p(n + 1) = p(n) + S(n)\) 用矩阵乘法即可. #in…
题面 给定\(n,m\),求: \[ T(n)=\sum_{i=1}^ni\times f_i \] 其中\(f_i\)为斐波那契数列的第\(i\)项 题解 不妨设: \[ S(n)=\sum_{i=1}^nf_i \] 则可以设: \[ P(n)=nS(n)-T(n)=\sum_{i=1}^{n-1}(n-i)\times f_i \] 所以有: \[ P(n+1)=\sum_{i=1}^{n}(n+1-i)\times f_i=\sum_{i=1}^n(n-i)\times f_i+\sum…
Description Analysis 10分:暴力+把m和n输反,你将获得10分的好成绩(Just like me.) 70分:暴力+把m和n输对,你将获得70分的好成绩 100分:矩阵加速 设 $ T(n)=1F_1+2F_2+3F_3+......+nF_n $ \(S(n)=F_1+F_2+F_3+......+F_n\) 则有: \(n*S(n)-T(n)=(n-1)*F_1+(n-2)*F_2+(n-3)*F_3+......+1*F_{n-1}\) 移项可得 \(T(n)=n*S…
正解:矩阵快速幂 解题报告: 我永远喜欢loj! 一看到这个就应该能想到矩阵快速幂? 然后就考虑转移式,发现好像直接想不好想,,,主要的问题在于这个*$i$,就很不好搞$QAQ$ 其实不难想到,$\sum_{i=1}^{n}a_i\cdot(n-i)$这样一个式子是可以在矩阵快速幂中推出来的(类似这个形式的都可,,,就随着编号递增系数递减这样子$QwQ$ 具体来说就是表示成$\sum_{i=1}^{n}\sum_{j=1}^{i}a_j$,就欧克辣(具体实现后面港,,, 但是问题在于,它是$\s…
题目大意: 一根树枝有N段,每一段有一个分数,可以选取一些不完全包含(可以相交)的区间,每次选取可以得到区间里所有数之和的分数. 求最大得分. 解题过程: 1.很明显的dp,默认选取区间的顺序是从左往右,F[i][j] 表示最后选的区间为[i,j]的最优解(i<=j). 显然 F[i][j]=max{F[p][q]}+sum[i][j]. (p<i && q<j); 但是复杂度显然太高,达到了O(N^4).. 此题的方程很容易想到,难得也正是 如何 降低复杂度. 2.考虑…
题目大意: 给出N种药水的价格,然后给出一些形如A B C 的关系,表示 A药水+B药水 可以组合出 C药水(保证 A+B 不会得到多种药水). 要求得到1号药水的最少花费和相应的方案数. N<=1000. 解题过程: 1.一开始没考虑到会有环的情况(比如A+B=C,B+C=A),想成了树形dp,还以为是大水题,结果全部WA了. 2.正解:还是转化为图论的模型,这里是dijkstra的变形: D[i]表示得到药水i的最小花费,根据dijkstra的的思想,当前D[i]最小的那个必然就是药水i的最…
题目链接 Solution 好题. 一开始一直在想怎么蛇皮建图,但是发现一直蛇不出来... 正解是用类似于 dijkstra 的算法对所有点进行松弛. 对于每个元素记录两个值: \(cost\) 代表它的最小花费. \(ans\) 代表它的方案数. 同时用一个\(f_{i,j}\)记录第\(i\)种和第\(j\)种药水可以合成第\(f_{i,j}\)这种药水. 似乎可以发现我们存合并状态的数组很像临接矩阵? 然后就可以开始蛇了... 我们对于每一瓶药水,其 \(cost\) 初值为其直接买的花费…
题目传送 (其实有一个更正经的题解) 看了许久,发现这题貌似就是一个动态规划啊,但毕竟是贪心题库里的题,还是想想用贪心解吧. 经过(借鉴大佬思路)十分复杂的思考后,终于理解出了这题的贪心思路.该题的难点主要在最后可在任意湖边停住,而且不能往回走,在一个湖钓鱼时的效率还会越来越少.常规的思路看来是不行的了,题目好多动态未知的量,唯有我们更换角度,“化动为静”: 即然最后不知道停在哪个湖,那就分类讨论呗.把停在每个湖的最优解全部求出,在最后取个最优解不就行了吗?发现当我们知道主人公最后停在哪个湖后,…
--DavidJing提供技术支持 现将今年7月份之前必须刷完的题目列举 完成度[23/34] [178/250] 第 1 章 贪心算法 √ [11/11] #10000 「一本通 1.1 例 1」活动安排 #10001 「一本通 1.1 例 2」种树 #10002 「一本通 1.1 例 3」喷水装置 #10003 「一本通 1.1 例 4」加工生产调度 #10004 「一本通 1.1 例 5」智力大冲浪 #10005 「一本通 1.1 练习 1」数列极差 #10006 「一本通 1.1 练习…
√√第一部分 基础算法(#10023 除外) 第 1 章 贪心算法 √√#10000 「一本通 1.1 例 1」活动安排 √√#10001 「一本通 1.1 例 2」种树 √√#10002 「一本通 1.1 例 3」喷水装置 √√#10003 「一本通 1.1 例 4」加工生产调度 √√#10004 「一本通 1.1 例 5」智力大冲浪 √√#10005 「一本通 1.1 练习 1」数列极差 √√#10006 「一本通 1.1 练习 2」数列分段 √√#10007 「一本通 1.1 练习 3」线…