- 博客(9)
- 收藏
- 关注
原创 动态规划背包问题优化模板(完整代码)
01背包(每个物品只能取一次)01背包和完全背包优化区别在于01是倒序,完全是正序/*我们每次计算dp[j] (即dp[i][j]) 的时候都会需要dp[j-w[i]](即dp[i-1][j-w[i]])的值。因为j-w[i]比j小,所以如果我们正序计算,(正序用完全,因为完全可以重复,不需要考虑更新)那么dp[j-w[i]]就已经更新了 (即dp[i][j-w[i]]),与状态转移方程不符。#include<bits/stdc++.h>using namespace std;.
2022-05-13 00:19:27
527
原创 线性筛素数模板——(欧拉筛)
学个新知识还是拿博客记录一下吧,方便以后再次遇到(思路和图片来源:洛谷学委,Eon_Floating,Lylighter_P3383线性筛素数图片转自洛谷网if(i % Prime[j] == 0)break;说说这步理由:、、、 规则:个合数只会被它的最大非自身因数(对应最小质因数)筛。这样能保证每个合数只会被筛一次。、、、i的最小质因数是Prime[j],如果j继续递增,会导致被多次筛。、、、但是由于保证了筛去的合数日后将不会再被筛(总共只筛一次),复杂度是线性的。/.
2022-05-05 14:25:15
1098
1
原创 二分查找专题
最近做了些二分题目,做一个小专题。总结:二分查找有点就是能快速找个一个点介于最小最大中的值,后判断是否达成条件,避免了暴力穷举造成TLE砍树#include<stdio.h>#include<stdlib.h>typedef long long ll;ll s,mid,l,r,max=-1,tree[1000005];int main(){ ll n,m; scanf("%lld%lld",&n,&m); for(int i.
2022-04-30 15:59:41
246
原创 Codeforces Round #784 (Div. 4)
第一题没什么好说的,签到题,大家都会做题意就是问你输出数中出现次数大于等于三次输出这个数(如果多个输出任意一个),其实可以利用桶排序进行计数#include<stdio.h>#include<string.h>int cnt[200010];int main(){ int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); memset(...
2022-04-22 19:17:13
315
原创 Codeforces Round #783 (Div. 2)——A. Direction Change
样例:这题是一道数学思维题,因为不能走同一个方向,所以路线可规定为向下向右或者向下向左,求最小,则需求出向左次数规定n为长边,n-m为奇数时向左次数是(n-m-1)/2,而路线投影需走n-1+m-1,只要求出向左走重复次数,重复次数等于向左次数*2,因此总步数等于(n-m-1)/2*2+n-1+m-1同理n-m为偶数时总步数(n-m)/2*2+n-1+m-1对于小边等于1的情况特判等于-1就行了#include<stdio.h>int main()...
2022-04-20 11:14:44
233
原创 深度优先搜索dfs的简单应用
展开样例:输入:4 33 7 12 19输出:1思路:类似这种选数问题,就可以用搜索进行对每种情况进行判断#include<stdio.h>#include<math.h>int ans=0,n,k,a[20];int prime(int x)//判断是否素数 { int i; for(i=2;i<=sqrt(x);i++) { if(x%i==0){ return 0; } ...
2022-04-09 19:56:35
482
1
原创 第九届蓝桥杯b组—全球变暖(C语言)
题目描述:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。 例如上图中的海域未来会变成如下样子:................................#...
2022-04-08 19:30:45
1742
原创 试题 历届真题 合根植物【第八届】【决赛】【C组】(C语言)
w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。 如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式 第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<m,n<1000)。 接下来一行,一个整数k,表示下面还有k行数据(0<k<100000) 接下来k行,
2022-04-03 20:01:38
116
原创 打包【蓝桥杯】(C语言)
Lazy有N个礼物需要打成M个包裹,邮寄给M个人,这些礼物虽然很便宜,但是很重。Lazy希望每个人得到的礼物的编号都是连续的。为了避免支付高昂的超重费,他还希望让包裹的最大重量最小。输入:一行两个整数N和M。 一行N个整数,表示N个礼物的重量。输出:一个整数,表示最小的最大重量。样例:3 21 1 2思路: 本题希望让每个人得到的包裹连续且最大重量最小,那这个最大重量一定在单个最重礼物l和礼物总重量r之间。接下来只需要对这个区间进行二分,每次中值点mid...
2022-04-03 15:52:32
778
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人