洛谷
文章平均质量分 55
会笑的小熊
在努力,在进步
展开
-
背包问题
关于背包问题,嗯一直学不明白,暑假咸的没事又拾起来学了一下,跟着这位大佬整理的思路(),对背包的思想有了一定清晰的理解,大佬的文章有些长,所以跟着自己的思路再整理一下。dp[i][j]:表示前i个物品花费代价为j的可以获得的最大代价。方法二:二进制优化O(N*log(p)*V)p[i]:表示第i种物品最多有p[i]件。所以要做一下处理:除以1000防止爆空间。O(V*N)转化为01背包问题。方法一:O(V*∑p[i])为了方便统一,先定义一下。原创 2023-10-01 17:32:10 · 284 阅读 · 0 评论 -
基础数学问题
第二点:unique并不会生成一个新的数组,而是将原数组多余的部分“移”到了数组之后,同时unique本身还会返回一个指针,指向去重之后的最后一位。a1/(a2/a3/a4/...)=a1a3a4.../a2,所以我们只要确认a1a3a4.../a2是否是整数。利用c++可以指针相加减的特点,我们可以通过 unique-数组指针 来知道去重之后数组的“大小”优化: 很多⌊n/i⌋下取整都是一样的,i跳到⌊n/j⌋=⌊n/i⌋+1的位置。[1,n]里约数有i的个数是⌊n/i⌋下取整。原创 2023-08-19 16:33:27 · 185 阅读 · 0 评论 -
贪心的算法
【代码】贪心的算法。原创 2023-08-06 16:56:57 · 290 阅读 · 0 评论 -
高精度算法
【代码】高精度。原创 2023-07-31 15:06:00 · 269 阅读 · 0 评论 -
约瑟夫问题
【代码】约瑟夫问题。原创 2023-07-26 19:28:54 · 192 阅读 · 0 评论 -
树和图的基础知识(洛谷)
用结构体存储左右儿子,dfs深度搜索遍历。邻接表存树,然后dfs或bfs遍历。代码3:纯dfs(用二维数组进行存储)代码2:bfs(和搜索与图论的。代码2:利用ASCII进行存储。代码:和上一题的代码1一样。代码:和上一题的代码1一样。代码:和上一题的代码1一样。代码1:和上一题做法一样。...原创 2022-08-14 11:20:50 · 237 阅读 · 0 评论 -
搜索(洛谷)
代码1dfs注意恢复现场。原创 2022-07-24 21:33:15 · 364 阅读 · 0 评论 -
二分(洛谷)
从起点出发,先选定一段距离mid,若前面的石头B与你所站着的石头A的距离小于mid(因为mid是最小的,如果有比mid小的就搬掉使其变大),就把B搬掉,记录一下;如果少了,就把mid定大点。1.空白牌足够多,n种牌中原有牌的数量加上能手写牌的数量的和(c[i]=a[i]+b[i])最小值(c[i])是在不全手写的套牌数的最小值,总的空白牌减去用过的除以n,是额外加的套牌数。二分答案问题提高伐木机的高度,显然地,得到的木头会减少,同样地,放低得到的木头会增多,而正因为答案有单调性,所以我们可以使用二分。...原创 2022-07-16 21:07:25 · 457 阅读 · 0 评论 -
洛谷(生日、连续自然数、台阶问题、眼红的Medusa、区间最大和、Time Management S)
目录生日连续自然数和台阶问题眼红的Medusa【深基附B例】区间最大和生日代码:#include<iostream>#include<cstring>#include<algorithm>using namespace std;struct student{ string name; int year; int month; int day; int num;}stu[110].原创 2022-05-17 19:15:39 · 273 阅读 · 0 评论 -
洛谷(黑色星期五、FILIP、梦中的统计、金币)
黑色星期五目录黑色星期五FILIP梦中的统计金币Cantor表(升级版)黑色星期五代码:#include<iostream>#include<vector>#include<cmath>using namespace std;int main(){ int n,i,month; cin>>n; int year=1900,num=1; int s[7]={0}; int mon[13.原创 2022-04-15 13:38:57 · 207 阅读 · 0 评论 -
洛谷(修改数组、烦恼的高考志愿、水壶、选数)
修改数组本题纯属思维题!结论:全部改成1一定是最优解。证明:对于一个当前全部为 1的区间[l,r],考虑它与包含它的区间哪一个更优。考虑左端点左边一个位置l−1,若l−1为1则左端点向左移显然更优;若l−1为0,将l−1位置修改为1并将左端点向左移更优;此时x和y同时增大1,x−y不变因此,一种最优的区间即为[0,n-1],即将所有为0的数改为1时,x-y取到最大值,且为原序列中1的个数。代码:#include<i...原创 2022-04-12 23:29:21 · 221 阅读 · 0 评论 -
洛谷(计数、均分纸牌、最大正方形)
计数目录计数均分纸牌最大正方形求细胞数量计数代码:(1)二分法#include<iostream>#include<math.h>using namespace std;typedef long long LL;int main(){ LL n,m; cin>>n>>m; LL l=0,r=n; LL res=0; while(l<r) { LL mid=l+r+1>>1原创 2022-03-29 20:25:34 · 1122 阅读 · 0 评论 -
洛谷(小鱼的数字游戏、进制转换、Cableway、Quasi Binary)
目录小鱼的数字游戏:进制转换:Cableway:Quasi Binary:小鱼的数字游戏:代码:#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=110;int q[N];int main(){ int c=0; for(int i=0;i<110;i++){ cin>>原创 2022-03-23 21:13:18 · 3199 阅读 · 1 评论