ICode9

精准搜索请尝试: 精确搜索
  • C语言内置函数memset用法2021-05-16 13:29:55

    头文件:#include<string.h> 作用:给字符串数组赋值为一个数 #include<stdio.h> #include<string.h> int main(){ char a[10]; memset(a,‘5’,sizeof(a)); } sizeof(a)为字符数组a的下标,这里可以填具体的数字 注意:memset只能操作字符类型,对int类型无效

  • C++ memset 踩坑2021-05-15 20:01:18

    一、前言memset 作为对内存初始化的函数,还是有不少坑和误区的,今天就来对这个函数作一个总结。二、函数作用最简单的调用就是将一个数组清零,代码如下:这里 sizeof(a) = maxn * 4 = 4096;表示的是将 数组首地址 a 开始往后的 4096 个字节,都设置为 0;三、效率对比直接调用 memset 接口清

  • 数字三角形模型和最长上升子序列模型 AcWing题目2021-05-15 16:03:04

    数字三角形模型 1015. 摘花生 https://www.acwing.com/problem/content/1017/ 方程定义成从下往上走 最大值写法 #include<iostream> #include<algorithm> #include<cstdio> #include<vector> #include<queue> #include<stack> #include<cstring> #include&l

  • char 、char[]、char*、 const char*、string(无效的const char *到XXXX的转化)2021-05-12 22:58:13

    好东西,那我自然是要收藏的 如果你是因为报那个错来的,那就对了 自然要附上自己的使用经验了 1、std::string 和QString在网络传输的过程中是不建议配套的,传过去,接到就成乱码了。 我因为这个愚蠢而把我们客户端人员坑惨了。 2、char* 使用时建议手动分配空间,不然你也不会知道它什么

  • ac自动机2021-05-05 15:33:08

    ac自动机 解决的问题 : 在一个文本串中查找多个模式串. 模板 https://www.luogu.com.cn/problem/P3808 int n,ans; char s[N]; bool vis[N]; int tr[N][26]; int endd[N]; struct Trie { int sz; Trie() { sz=1; memset(tr[0],0,sizeof(tr[0])); memset(vis,0,sizeof(vi

  • 2021-05-052021-05-05 11:58:01

    HDOJ 过山车 今天刚学完二分图匹配算法写个博客分享一下     题目如下   RPG girls今天和大家一起去比赛玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生但是,每个女孩都有各自的想法,举个例子把,兔子只愿

  • [每日一题] leetcode 740. 删除并获得点数2021-05-05 09:33:46

    统计每个值所能获得的点数 dp 从终态考虑转移方程!!! dp[i][0]表示第i个数保留 dp[i][1]表示删除第i个数 dp[n][0] = dp[n - 1][1]; dp[n][1] = max(dp[n - 2][0], dp[n - 2][1]) + a[n]; class Solution { public: int dp[20010][2]; int num[20010]; int deleteAndEar

  • Valley Numer II(状压dp)2021-05-04 22:57:14

    http://acm.hdu.edu.cn/showproblem.php?pid=6149 思路: 将图的相关点变成序列。 对于每个点,搜出匹配的山峰状态s。采用递推,i的s状态,搜出两个没用过的点,更新dp[i+1][s|1<<(p-1)|1<<(q-1)],类似01背包,看是否能在现在的基础上+1 #include<iostream> #include<vector> #include<queu

  • P2258 [NOIP2014 普及组] 子矩阵2021-05-04 09:06:12

    题目 题目 思路 暴力枚举每一列情况,然后设 f x , y f_{x,y}

  • 【ybtoj 高效进阶 3.2】【最小生成树】 新的开始2021-05-04 09:05:08

    【ybtoj 高效进阶 3.2】【最小生成树】 新的开始 题目 解题思路 将建设发电站的费用看作是连向超级点的边权 从超级点开始跑一边prim即可 代码 #include <iostream> #include <cstring> #include <cstdio> using namespace std; int n, x, tot , mi = 1, f[320], p[320],

  • Kuangbin 专题六 最小生成树2021-04-28 21:29:27

    1.给N个点 建立一支最小生成树 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; const int maxn=207; int n,m; int d[maxn][maxn]; int dis[maxn],ans; bool v[maxn]; int main(){ while(scanf("%d",&a

  • CF1291B 题解2021-04-25 21:33:23

    Luogu-CF1291B 题目分析 对于一个序列 \(a\),我们需要找一个分界线,使左半边严格单调递增,而右半边严格单调递减。 我们可以构建出最小的满足题意的序列 \(b\),如下面这样: \[0,1,2,...,M-1,M,M-1,...,2,1,0 \]那么,我们可以将 \(a_i\) 与 \(b_i\) 作比较,如果 \(a_i < b_i\),那么一定不合

  • C语言:memset()用法2021-04-25 17:59:51

    memset()用于初始化工作,常为新申请的内存进行初始化工作,直接操作内存空间。 函数原型: #include<string.h> //要包含这个头文件 void *memset(void* s, int c, unsigned long n); 函数功能:将指针变量s所指向的前n个字节的内存单元用一个“整数”c替换,可以为任何数据类型的数

  • HDU2853(最大权完美匹配)2021-04-24 12:33:23

    题意:要求改动公司数量最少并且效率最大(效率最大也就是最大完美匹配) 其中有一个最大的问题就是最少改变公司数量(也就是最少改变多少条边) 这个知识点我也是看了网上的,关于这个知识点我也感觉很神奇。除了这个问题其他的都是模版问题了。 可以把每条边的权值扩大k倍,并且k要大于n

  • 代码实验室: “潜伏“的性能杀手2021-04-18 09:03:21

    ctestcode<代码实验室>栏目的每个代码实验,都提供了源代码, 可以用本公众号的<C语言编码助手>导入,直接运行,进行实验,学习和验证。   【memset性能陷进】 memset是大家常用的函数,而且一般的编程书籍都会告诫大家:申请内存后要初始化,防止使用未经初始化的内存导致不可预知的结果,所

  • 1050. 鸣人的影分身2021-04-11 11:04:40

    整数划分问题:900. 整数划分 注意划分出的数可以取\(0\)。 const int N=1010; int f[N][N]; int n,m; int main() { int T; cin>>T; while(T--) { memset(f,0,sizeof f); cin>>m>>n; f[0][0]=1; for(int i=0;i<

  • 1047. 糖果2021-04-11 09:03:52

    01背包裸题。 状态表示: \(f(i,j)\)从前\(i\)个数中选,总和模\(K\)的余数为\(j\)的情况下的和的最大值。 状态转移: \[f(i,j) = f(i-1,j),f(i-1,(j-w[i])\mod k)+w[i] \]const int N=110; int f[N][N]; int w[N]; int n,k; int get(int x) { return (x%k+k)%k; } int main() {

  • 2021.04.03【NOIP提高B组】模拟 总结2021-04-07 20:04:12

    T1 题目大意:求最小的 \(n\in[0,lim]\) 使得区间 \([L,R]\) 在线段树建树 \(build(0,n)\) 的区间内 考场时想到了正解,结果推式子退错了。。。 其实就是从下往上搜索,可以转到父节点为 \([l,2(l-1)-r],[l,2(l-1)-r+1],[r,2r-l],[r,2r-l+1]\) 如果 \(l=0\) 那么 \(r\) 就是当前答案 但

  • P2294 [HNOI2005]狡猾的商人2021-04-04 12:35:39

    一句话题意: 给出一堆三元组 \((u, v, w)\),意思是 \(v\) 到 \(u\) 这一块的和正好为 \(w\),求问这一堆三元组是否满足互相不冲突。 考虑去用前缀和维护,那么三元组就转化成了以下这个等式: \[sum_v-sum_u=w \]将它拆分成两个不等式: \[sum_v-sum_u\le=w,\ sum_v-sum_u\ge=w \]把两

  • 剑指 Offer 03. 数组中重复的数字2021-04-03 16:31:20

    剑指 Offer 03. 数组中重复的数字   找出数组中重复的数字。   在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0,

  • [ SDOI 2017 ] 序列计数2021-04-03 12:32:28

    题目 Luogu LOJ 思路 代码 #include <iostream> #include <cstring> using namespace std; const int N = 110, M = 2e7 + 10, mod = 20170408; int n, m, p, P[M], V[M], idx, cnt[N]; struct MATRIX { int a[N][N]; }; MATRIX operator*(MATRIX A, MATRIX B) {

  • 贪心木棒学习解题过程中的发现2021-03-21 10:33:28

    1.memset 在解题的过程中很多地方都遇到了这个函数,上网搜索发现用于快速给大型数据赋初值的函数。 头文件:"memory.h"或"string.h" 函数原型:void *memset(void *s,int ch,size_t n); 将s中前n个字节(typedef unsigned int size_t)用ch替换并返回s,作用是在一段内存块中填充某个给

  • 免费馅饼 HDU - 11762021-03-14 02:05:00

    原题链接 考察:线性dp 思路:         乍一看我还以为是背包dp,实际不是,f[i][j]表示第i秒,j位置能得到的最大数.f[i][j] = max(f[i-1][j],f[i-1][j-1],f[i-1][j+1])+w[i][j].每个位置能获得的馅饼数要用另一个数组存,不能用f数组.         关于如何初始化,除了f[0][5]全部

  • 发现C++使用memset一个很有趣的问题2021-03-10 20:58:25

    使用memset函数的小问题 最近在符习算法的知识,今天作杭电oj的1114题,一个背包问题。 最后要求的是可能的硬币的最小值,所以先把背包初始化成一个自定义的极大值INF再进行计算,开始写的程序如下: #include #include #include<string.h> using namespace std; #define INF 990000

  • HDU-1548 A strange lift2021-03-07 19:32:55

    A strange lift(HDU-1548) 原题传送门 本题的题意大致为,一栋楼有N层,一个人想从A层到B层去,其中电梯在不同的层数上能够上下移动的层数不同,问最短需要操作几次电梯? 分析下题目给的测试样例: 5 1 5 3 3 1 2 5 意味着一共有五层楼,这个人希望从第一楼到第五楼去,其中电梯在一楼可以选

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有