随笔
_记念_
这个作者很懒,什么都没留下…
展开
-
L - Non-Prime Factors
题意q次询问,每次询问给你一个整数,问该数的因数(非质数)的个数思路一开始想这个题目的时候,直接发现可以把一个数质因数分解a=∑i=1npiqia=\sum_{i=1 }^n{p_i}^{q_i}a=i=1∑npiqi,那么答案显然就是ans=∏i=1n(qi+1)−nans=\prod_{i=1}^n{(q_i + 1)}-nans=i=1∏n(qi+1)−n但可惜的是,这道...原创 2019-10-18 18:36:10 · 278 阅读 · 0 评论 -
最大子矩阵
题意给你一个n*n的方正,每一个格子都一个值,问它的子矩阵的sum最大为多少思路其实就是枚举完上下边界之后转化成了一维求最大子段,而枚举最大子段可以使用dp优化。AC代码#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef lon...原创 2019-10-02 22:16:10 · 151 阅读 · 0 评论 -
B - Intersection of Cubes
题意求给定的n个长方体,求这n个长方体覆盖的体积思路思路来源于求n条线段交集。我们可以把每一个长方体看成用三条线替换,从而我们就可以把n个长方体的三条线放到三个桶里面,然后在3个桶里面求出线段交集。答案就是3个交集长度的乘积。那我们怎样求n个线段的交,很简单的。把n个线段的两个端点分成左右端点,然后加进两个桶,然后取两个桶的一个最大值,一个最小值。AC代码#include <b...原创 2019-09-30 23:20:44 · 194 阅读 · 0 评论 -
B - Master of Phi
思路AC代码#include <iostream>#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll mod = 998244353;ll quick_mod(ll a, ll b){ ll sum = 1; while(b){ if(b & 1...原创 2019-09-06 21:06:47 · 103 阅读 · 0 评论 -
Bomb
Bomb 思路dp[pos][sta]表示表示第pos+1位(高位)是4(不是4)的个数且第pos+1位没有达到limitdp[pos][sta]表示表示第 pos + 1 位(高位)是4(不是4)的个数且第pos+1位没有达到limitdp[pos][sta]表示表示第pos+1位(高位)是4(不是4)的个数且第pos+1位没有达到limitAC代码解释#include <io...原创 2019-08-30 11:22:48 · 118 阅读 · 0 评论 -
Halloween Costumes
题目链接思路dp[i][j]表示从第i场party到第j场party所需穿的最少服装dp[i][j]表示从第i场party到第j场party所需穿的最少服装dp[i][j]表示从第i场party到第j场party所需穿的最少服装按照区间dp一般做法,我们通常枚举长度为2、3、4的区间找找规律按照区间dp一般做法,我们通常枚举长度为2、3、4的区间找找规律按照区间dp一般做法,我们通常枚举长...原创 2019-08-27 11:21:11 · 315 阅读 · 0 评论 -
数的划分
数的划分转载洛谷dfs暴力模拟过程转载洛谷dfs暴力模拟过程转载洛谷dfs暴力模拟过程#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,k,cnt=0;void dfs(int las...原创 2019-03-26 00:17:39 · 124 阅读 · 0 评论 -
台阶问题
台阶问题分析第一眼看到这题的时候就直接想用Dfs模拟走路的过程,可是发现n数据范围为1e5,就计算一下复杂度。接近O(2n)第一眼看到这题的时候就直接想用Dfs模拟走路的过程,可是发现n数据范围为1e5,就计算一下复杂度。接近O(2^n)第一眼看到这题的时候就直接想用Dfs模拟走路的过程,可是发现n数据范围为1e5,就计算一下复杂度。接近O(2n)无非就是tle。但是为了练习我的dfs模板...原创 2019-03-25 21:15:21 · 316 阅读 · 1 评论 -
2019-3-21训练赛总结
dp+二分(最长不降子序列问题)题意题目就是要你求出最长非递减的最长子序列长度白书(挑战程序设计)中提供两种算法O(n2)和O(nlogn)O(n^2)和O(nlogn)O(n2)和O(nlogn)解决该问题第一种算法用到的知识是dpdp[i]表示以a[i]结尾的最长子序列,更新方式是dp[j]−>dp[i−1](即j从1到i−1)dp[i]表示以a[i]结尾的最长子序列...原创 2019-03-22 14:50:06 · 162 阅读 · 0 评论 -
freopen用法详解
文章详解具体操作:(以cb为例)(1)新建一个项目然后输入源程序(2)然后找到源程序所在项目的路径然后建立一个A.in(3)在cb上编译运行后(4)自动生成一个out文件,然后里面就是程序运行的结果。之所以使用freopen的原因是对于那些多数据的输入可以直接放到in文件里面,然后while()一个一个读取,结果存在文件里面便于操作...原创 2019-03-27 22:25:05 · 2604 阅读 · 1 评论 -
快速幂与快速幂取模模板
鉴于快速幂与快速幂取模模板比较简单容易记,可以直接记模板。typedef long long ll;ll quick_pow(ll a,ll b){ ll ans=1; while(b){ if(b&amp;1) ans*=a; a*=a; b&gt;&gt;1; } return ans;}// ans即为a^btypedef long lon...原创 2019-02-24 11:11:00 · 156 阅读 · 0 评论 -
string相关用法
(1)c++字符串(string)若干初始化的方法:string test1; //空串string test2 = “内容”; //使用=string test3(“内容”); //使用引用字符数组作为参数传给构造函数string test4(test2); //用一个string初始化另一个stringstring test5(test2,pos,num); //从test...原创 2019-02-05 10:45:57 · 363 阅读 · 0 评论