c++
狼队.Modest
腾讯工程师
展开
-
P2311 loidc,想想看
对于询问[L,R],求出最大的x,满足2^x原创 2022-09-18 08:18:52 · 369 阅读 · 1 评论 -
P1045 [NOIP2003 普及组] 麦森数 题解
与 有着相同的位数,因为2的次方满足了最后一位不为零的要求,所以减一后位数并不会改变,那么我们可以直接求 的位数。我们不妨设 ,根据 的位数为 ,我们只要想办法把 中的底数2改为10,指数加一就是位数了。根据乘方的原理,将p乘进去,原式便可化为我们最终想要的形式 了,所以位数就是。这个绝对难不倒大家,裸的高精快速幂,经过NOIP2017初赛的RP++后,相信很多人都已经会了快速幂了,所以我在这里不再赘述,只是提供一种相对较为简便的高精乘法(见程序)二、求最后500位数。原创 2022-09-16 19:54:01 · 256 阅读 · 0 评论 -
P1049 [NOIP2001 普及组] 装箱问题
在我们学习动态规划之前,拿到这道题,大部分人首先的思路是贪心,即每次选择体积最大的装入箱中。原创 2022-09-16 19:49:33 · 348 阅读 · 0 评论 -
P5661 [CSP-J2019] 公交换乘
用算法分析历年CSP考题原创 2022-09-16 19:46:06 · 503 阅读 · 0 评论 -
P1422 小玉家的电费 题解
题解原创 2022-06-28 10:31:45 · 224 阅读 · 0 评论 -
P2837 [USACO08FEB]Dining Cows B 题解
怎么感觉没几个题解是写DP的呢?难道这真的是道假DP?如果用DP其实很好想啊,用dp[i][0]表示第i头奶牛为1时需改的最小数量,dp[i][1]表示第i头奶牛为2时需改的最小数量,如果第i头奶牛原来为1,则dp[i][0]=dp[i-1][0],dp[i][1]=min(dp[i-1][1],dp[i-1][0])+1,然后原来为2的情况以此类推啦~最后只要比较dp[n][0]和dp[n][1]就行了。#include <iostream>#include <cst原创 2022-01-14 15:25:45 · 1414 阅读 · 0 评论 -
洛谷日报 第 376 期 2022 年 1 月 11 日
不带删的尺取作者:123asdfghjkl不带删的尺取 - 123asdfghjkl 的博客 - 洛谷博客部分文章同步发表于:微信公众号部分代码过多、内容过于深奥的文章,不适合发布于其他自媒体平台。管理员有可能不另行告知,只发布于洛谷主站。对文章的评论请在博客页面中评论,本帖中的文章会持续更新。链接失效反馈贴:出错了 - 洛谷历年日报索引:craft2022 年2021 年2020 年2019 年2018 年洛谷日报接受投稿,请根据本帖2楼的提示..原创 2022-01-14 15:06:37 · 188 阅读 · 0 评论 -
关于gcd
并行和并发 GCD简介 GCD的任务 GCD的队列 GCD创建队列或获取队列的方法 任务的执行方式:同步执行(同步)和异步执行(异步) GCD提交执行任务的具体方法 1.异步执行一个并发队列 2.异步执行一个串行队列(非主队列) 3.同步执行串行队列(非主队列) 4.同步执行并发队列 5.异步执行主队列(在主线程中) 6.同步执行主队列(在主线程中)本文参考文章链接:巧谈GCD iOS多线程详解 iOS多线程——你要知道的GCD都在这里(这篇存在着一些错误,慎读)前言原创 2021-08-30 15:28:02 · 197 阅读 · 0 评论 -
P1002 [NOIP2002 普及组] 过河卒 题解
一道比较入门的 dp 题这道题初始位置是从 0 开始的,这样不是很利于我们解题,所以不如暂且把这题里涉及的坐标统统 +1,那么初始位置就从(0,0)(0,0)变成了(1,1)(1,1)先考虑如果没有任何马的限制,卒子可以随便向右向下走,那么可以想到,一个卒子只能从 当前格子的左侧格子 和 当前格子的上方格子 上走到当前格子。那么假设从(1,1)(1,1)走到 当前格子的左侧格子 的路径条数是xx,从(1,1)(1,1)走到 当前格子的上方格子 的路径条数是yy,那么从(1,1)(...原创 2021-08-30 09:55:01 · 316 阅读 · 2 评论 -
P1014 [NOIP1999 普及组] Cantor 表 题解
算法1:模拟,按题意一个个枚举时间复杂度O(n),可以通过本题n≤10^7算法2:发现Z字形的每条斜线可以快速枚举,即枚举1/1 , 1/2 , 3/1 , 1/4 , 5/1 , 1/6……找到要求的第n项所在斜线,再一个个枚举或计算得出答案时间复杂度O(√n),可以通过n≤10^14算法2.5:枚举第n项在哪一行,计算得出答案,比算法2好写,时间复杂度同算法2算法3:发现第i条斜线(即分子分母之和=i+1的所有项)中包含i*(i-1)/2+1至i*(i+1)中的每一项,所以可原创 2021-08-30 09:51:36 · 205 阅读 · 0 评论 -
P1497 木牛流马 题解
思路:先考虑摆放的位置,再考虑颜色这里要运用到两个小学的知识点(摘自百度):排列的定义: 从nn个不同元素中取出m(m≤n)m(m≤n)个元素的所有排列的个数,叫做从nn个不同元素中取出mm个元素的排列数,用符号A(n,m)A(n,m)表示。计算公式:A(m,n)=\prod_{n-m+1}^{n}=\frac{n!}{(n-m)!}A(m,n)=n−m+1∏n=(n−m)!n!组合的定义:从nn个不同元素中取出m(m≤n)m(m≤n)个元素的所有组合的个...原创 2021-08-30 09:38:54 · 270 阅读 · 0 评论 -
P7791 [COCI2014-2015#7] TETA 题解返回题目
题意简述 给出nn道菜及其价格。 其中有四种不重复的菜可以组成一份套餐,价格为cmpcmp。 给出需要买的菜品,其中,不在套餐中的需要单付,在套餐中的可以选择以整个套餐的价格支付部分套餐中的菜或每个菜都选择单付,求支付的最小金额。 套餐可以不限量地买,但每个套餐中只能有同种菜品中的一道菜(坑点)。 题目分析 当菜品不在套餐中,ansans直接加上单价。 当菜品在套餐中,则在sumsum数组中记录该种菜品的数量。 在mpmp...原创 2021-08-25 10:25:12 · 201 阅读 · 0 评论 -
P7776 【模板】特征多项式 题解
定理:相似矩阵特征多项式相同。证明:|\rm PAP^{-1}-\lambda E|∣PAP−1−λE∣=|\rm PAP^{-1}-\lambda PP^{-1}|=∣PAP−1−λPP−1∣=|\rm (PA-\lambda P)P^{-1}|=∣(PA−λP)P−1∣=|\rm P(A-P^{-1}\lambda P)P^{-1}|=∣P(A−P−1λP)P−1∣=|\rm P(A-\lambda E)P^{-1}|=∣P(A−λE)P−1∣=|\rm P|\times|A-\lambd原创 2021-08-25 10:21:06 · 1037 阅读 · 0 评论 -
P7834 [ONTAK2010] Peaks 加强版 题解
下面称Kruscal建树的时候的产生的点的权值为 “权值”,题目中给的点权称作 “贡献”。先是对于原图跑最小生成树的同时建立Kruscal重构树 随后 dfs 遍历整棵树,维护好倍增数组以及给叶子节点(原图节点)编号,并且处理出每个非叶子节点uu为根的子树中包含的叶子节点的编号 最大 / 最小值。 按照编号的顺序将叶子节点的 "贡献" 插入主席树中。 查询的时候就倍增找到询问的点uu在树中最远的一个满足权值\leq x≤x的节点pp(因为深度越浅,权值越大),它为根的子树里面...原创 2021-08-24 18:55:07 · 270 阅读 · 3 评论 -
P1009 [NOIP1998 普及组] 阶乘之和 题解
其实这道题用二维数组做高精会更好理解(也好打一些),奇怪为啥没这么打的(当然啦,有一点点浪费空间(也就2M?))首先我们发现,求的是1到n所有阶乘的和,而阶乘又有递归写法(n!=(!n*n))那么直接用递推一直推到!n,然后再把所有的都相加就可以了(当然是倒序存储)关于进位:单个数组位置只存一个(其实可以多个)数位,乘了之后做操作的时候只需要判断当前位置是否是该行最后一位,如果是就++,那么它会一直循环到刚好合适为止。代码如下(拒绝复制,共创和谐CSDN)#include<ios原创 2021-08-23 14:58:05 · 348 阅读 · 0 评论 -
P1295 [TJOI2011]书架 题解
发个O(n)的题解先写个dp方程f[i]=f[j]+max(a[j+1]...a[i])(s[i]-s[j]<=m)对于转移方程可行的j且a[j+1]<=max(a[j+2]...a[i])f[j]+max(a[j+1]...a[i])与f[j+1]+max(a[j+2]...a[i])后半段相同易知f[j]<=f[j+1],所以前者更优推广可得最优转移一定在a[q1]>a[q2]>a[q3]>a[q4]>...>a[qj]中f[a[q原创 2021-08-23 10:21:30 · 122 阅读 · 0 评论 -
洛谷日报 第 358 期 2021 年 8 月 19 日
洛谷日报 第 358 期 2021 年 8 月 19 日卢卡斯定理学习笔记作者:ApocalypseTqhttps://yangty.blog.luogu.org/lucas-theorem-note部分文章同步发表于:微信公众号 新浪微博 今日头条 百家号 搜狐号 网易号 大鱼号部分代码过多、内容过于深奥的文章,不适合发布于其他自媒体平台。管理员有可能不另行告知,只发布于洛谷主站。对文章的评论请在博客页面中评论,本帖中的文章会持续更新。链接失效反馈贴:https:原创 2021-08-21 09:39:02 · 327 阅读 · 0 评论 -
P4557 [JSOI2018]战争 题解
一、概述学习此内容需一定计算几何基础,出门右拐:https://www.cnblogs.com/xzyxzy/p/10033130.html官方定义:两个图形A,BA,B的闵可夫斯基和C=\{a+b|a\in A,b\in B\}C={a+b∣a∈A,b∈B}通俗一点:从原点向图形A内部的每一个点做向量,将图形BB沿每个向量移动,所有的最终位置的并便是闵可夫斯基和由于博主太菜,本文只讨论凸包的闵可夫斯基和如下图,粉色区域便是三角形和一个不规则四边形的闵可夫斯基和二、怎么.原创 2021-08-20 17:12:26 · 167 阅读 · 0 评论 -
P1173 [NOI2016] 网格 题解
一个显而易见的性质是答案不大于2(角上的跳蚤最多与两个相邻)继而发现答案其实只可能是-1,0,1,2~~(废话)~~,分类讨论:-1:nm-c<2nm−c<2或者nm-c=2nm−c=2且剩下的两只跳蚤相邻;0:原图不连通;1:原图联通且有割顶;否则为2。但n,m\le 10^9n,m≤109这种数据范围肯定不能直接做了,发现只有蚱蜢周围的跳蚤可能是割顶,是不是可以把它们选出来建图呢?.**.*#.**中间的*成为假的割顶。因此,我们要向外扩展两圈,然后原创 2021-08-20 16:55:28 · 420 阅读 · 0 评论 -
P4839 P哥的桶 题解
看到题:单点插入?区间查询?线段树。异或和最大?线性基。于是就可以线段树套线性基了。线段树每个结点维护一个线性基,插入时直接插入,查询时把所有被查询区间所包含的区间的线性基插入到一个大的线性基里,最后在大的线性基里查询就好了。时间复杂度O(nlogmlogx)O(nlogmlogx)#include <bits/stdc++.h>using namespace std;struct lb{ int a[32]; void insert(int x)原创 2021-08-20 16:16:38 · 114 阅读 · 0 评论 -
P1335 [NOI2013] 小Q的修炼 题解
感觉这种题答都没有题解,而我又想在这里保存一下代码,就写一份题解咯。【题意】一共有M个变量。有一系列的操作,按顺序标为1~N。操作分为三种:①普通操作:将一个变量加上一个量。②条件跳转:给出两个量A、B和两个编号P、Q。如果A<B那么跳到编号为P的操作,否则跳到编号为Q的操作。③选择跳转:给出两个编号P、Q。在P和Q中任选一个跳过去。注意以上的“量”可以是常量,也可以是目前某一个变量的值。如果什么时候跳转到的编号不在1~N之间,则视为退出游戏。你要给出选择跳转的原创 2021-08-20 10:51:46 · 1390 阅读 · 3 评论