自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 8.28 2019CSP-S1错题整理

8.28 CSP-S1错题整理单项选择题第 20 题 (4 分)#include <cstdio>using namespace std;int n;int a[100];int main() { scanf("%d", &n); for (int i = 1; i <= n; ++i) scanf("%d", &a[i]); int ans = 1; for (int i = 1; i <= n; ++i)

2020-08-28 11:39:21 421

原创 8.27 2018NOIP提高组初赛错题整理

8.27 2018NOIP提高组初赛错题整理第 10 题 (2 分) 为了统计一个非负整数的二进制形式中 1 的个数,代码如下:int CountBit(int x){ int ret = 0; while (x) { ret++; ________; } return ret;}使用x&=(x−1)x\&=(x-1)x&=(x−1)可以搞掉xxx最低位的111同样的,使用x=x−lowb

2020-08-27 11:55:15 357

原创 8.26 2017年提高组初赛错题整理

8.26 2017年提高组初赛错题整理单选第 8 题 (1.5 分) 由四个不同的点构成的简单无向连通图的个数是 ( )。四个点的连通图,边数为3−63-63−6当边数为3时,就相当于从完全图中的六条边中选三条边,共有C63C^3_6C63​种情况注意,边数为3时,并不是所有情况都能保证所有点连通,需要减去4种不是连通图的情况当边数为4时,同理,共有C64C^4_6C64​种情况当边数为5时,共有C65C^5_6C65​种情况当边数为6时,共有一种情况共计38种情况第 11 题 (

2020-08-26 20:43:23 838

原创 8.25 2016NOIP提高组初赛错题整理

8.25 2016NOIP提高组初赛错题整理单项选择题第 8 题 (1.5 分) G 是一个非连通简单无向图,共有 28 条边,则该图至少有( )个顶点。非连通代表图至少由两部分组成,简单说明图没有重边和自环为了使点数尽可能少需要使边尽可能密集把一个点孤立出来剩下的连成完全图点数为nnn的完全图边数为n(n−1)2\frac{n(n-1)}{2}2n(n−1)​n(n−1)2=28\frac{n(n-1)}{2}=282n(n−1)​=28n1=8,n2=−7<0舍去n1=8,

2020-08-25 19:52:30 629

原创 8.24---2015NOIP提高组错题整理

8.24—2015NOIP提高组错题整理单选第 11 题 (1.5 分) 具有 n 个节点,e 条边的图采用邻接表存储结构,进行深度优先遍历和广度优先遍历运算的时间复杂度为( )。由于st数组的存在,不会进行重复访问,所以时间复杂度为O(n+e)第 13 题 (1.5 分) 双向链表中有两个指针域,llink 和 rlink,分别指回前驱及后继,设 p 指向链表中的一个结点,q指向一待插入结点,现要求在 p 前插入 q,则正确的插入为( )。答案:p->llink->rli

2020-08-24 22:54:27 1086

原创 题解合集

图论朴素/堆优化Dijkstra(正权边无环最短路)spfa算法(负权边无负环)Bellman-ford算法(负权边无负环)Kruskal算法(最小生成树)prim求最小生成树数据结构单链表双链表单调栈单调队列(滑动窗口)KMP算法trie字符串统计最大异或对合并集合格子游戏连通块中点的数量堆排序模拟堆模拟散列表字符串哈希合并集合搭配购买区间和排序快速排序第K个数归并排序逆序对的数量二分数的范围数的三次方根染色法判定二分图二分图的最大牌匹配

2020-08-07 17:15:50 1463 2

原创 没有上司的舞会 题解

题目描述http://oj.yogeek.cn/problem/z5041算法思想没有上司的舞会这一题是个典型的树形动态规划对于每一个人,都有来与不来两种情况简单思考即可得到答案时间复杂度O(N)O(N)O(N)参考代码#include <iostream>#include <cstring>using namespace std;const int N = 6010;int dp[N][2], happy[N];int h[N], ne[N], e[N

2020-07-29 11:40:48 993

原创 完全背包 题解

题目描述https://www.acwing.com/problem/content/3/算法思想朴素版的完全背包思想几乎同01背包相同,只是在进行递推时加入了新的一重循环进行对每种商品的数量的枚举没看过我01背包题解的童鞋可以去看看哦同样的,完全背包也可以人为的去掉一维数组还可以顺便去掉一重循环因为每种商品可以选任意多件所以第二重循环从小到大就行详见代码时间复杂度优化前不好估计,大佬可以估计一下优化后O(M∗N)O(M*N)O(M∗N)样例代码优化前#include &

2020-07-28 15:34:03 179

原创 01背包 题解

题目描述https://www.acwing.com/problem/content/2/样例输入略样例输出略算法描述我们的状态数组f[i][j]f[i][j]f[i][j]指在背包有jjj的容量,只有前iii件物品时的最大价值由于每种物品只有选与不选两种情况所以如果容量允许,那么f[i][j]f[i][j]f[i][j]只有两种选择选择第iii件物品,或不选(状态转移方程见代码)然鹅,我们可以使用一些奇妙的手段去掉数组的一维,是空间复杂度更低即去掉iii这一维,使用数组表示背包

2020-07-28 15:13:58 209 1

原创 Dijkstra堆优化

题目描述给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为非负值。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出-1。输入第一行包含整数n和m。接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。数据范围1≤n,m≤150000图中涉及边长均不小于0,且不超过10000。输出输出一个整数,表示1号点到n号点的最短距离。如果路径不存在,则输出-1。输入样例3 31 2 22 3 11 3 4输出样例3算法

2020-07-20 16:54:42 299 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除