ICode9

精准搜索请尝试: 精确搜索
  • C语言-------memset函数的使用2021-10-27 19:06:48

    #include <stdio.h> #include <string.h>//使用memset要用到这个头文件 /* memset(数组名,0,sizeof(数组名)) -->把数组中的元素全部初始化成中间这个数据 */ int main() { int arr[5]={1,2,3,4,5}; printf("原始数据为:\n"); for(int i=0;i < 5;i++) { print

  • 等差素数列#暴力2021-10-25 09:01:14

    设一个大数枚举 太小了wa,太大了t 多少有点运气成分在里面 真实世界不也这样   #include<bits/stdc++.h> using namespace std; int ispri[1000007],prime[1000007],cnt=0; void pri() { memset(ispri,-1,sizeof(ispri)); for(int i=2;i<=1000000;i++) {

  • 2021-10-232021-10-23 19:30:41

    memset函数 头文件: #include <string.h> 函数原型: void* memset(void* s,int c,size_t n); memset()函数是按字节对内存块进行初始化的 注意:不能用memset()函数将int数组初始化为0和-1之外的其他值 int arr[8]; 初始化为0,memset(arr, 0, sizeof(arr)); 初始化为-1

  • dijkstra板子2021-10-20 23:31:49

    1 #include <iostream> 2 #include <string.h> 3 using namespace std; 4 const int N = 509; 5 int g[N][N],dist[N],st[N]; 6 int n,m; 7 8 int dijkstra() 9 { 10 for(int i = 1;i <= n;++i) 11 { 12 int t = -1; 13 for

  • memset2021-10-19 23:34:10

    库函数memset的更有效版本实现 有参考其他的 一、实验预备知识 (1)库函数 memset 简介: memset 函数作用:将从 s 开始的 n 个字节的内存区域全都填充为 c 的低位字节。它是对较大的结构体或数组进行清零操作的一种最快方法。 (2)库函数memset的最直接实现: /* Basic implementati

  • 7305. 【2021.10.16NOIP提高组模拟】厜蓧篈壻鑨2021-10-19 20:03:10

    Description \(1\le n,m\le 1000\)。 Solution 下面将 "#" 认为是 1,"." 认为是 0。 可以发现答案是具有二分性的。因此考虑二分答案。 对于答案 \(x\),先找出在 \(x\) 步内向外扩展不会到达的 0 的 1。 然后把这些点加入队列,然后 \(\text{bfs}\),看看经过 \(x\) 轮之后的形状是否与

  • floyd(只有代码)2021-10-13 23:00:09

    Floyd #include<bits/stdc++.h> using namespace std; #define MAXN 1010 /* 图中最短路 f[i][j] = gragh[i][j] = min{f[i][k] + f[k][j], f[i][j]} */ int n = 0; int gragh[MAXN][MAXN] = { 0 }; int f[MAXN][MAXN] = { 0 }; void floyd(){

  • P1342 请柬【题解】2021-10-04 20:29:56

    最短路裸题 题目大意: 拿到题目扫了一眼,大概出了个这样的思路:建个图,先以 1 1 1为源点跑一次最短路,再以除了 1 1

  • c++ 的学习 内存4-堆空间的初始化2021-10-03 21:03:37

    1.写左括号可以看到里面的  函数里面对应的参数  malloc(;     2.有些平台可能没有被初始化    平台(windows linux os) 因为c++的语言没有省略初始化 3.memset(0,p,40) 4.new 会调用一个memset() 5.    6.    7.    8.    9.    10.    11.    12.    13.你现

  • NOIP 模拟七 考试总结2021-10-02 06:31:58

    T1匹配 签到大水题,这里有hash,kmp,ac自动机,还有后缀数组,后缀自动机任您挑选. 不过这个数据范围有些坑啊,re就很不爽.做法我还是比较倾向hash的,毕竟不论神魔字符算法,hash大都能莽过(我才不会说kmp忘了呢............) code #include<bits/stdc++.h> using namespace std; unsi

  • 快速幂2021-10-01 20:03:30

    1.模板 求n的m次方 #include<iostream> #define MOD 1000000007 using namespace std; //递归快速幂 int quickpow(long long a,long long n){ if(n==0) return 1; else if(n%2==1){ return quickpow(a,n-1)*a%MOD; }else{

  • MC插火把2021-09-26 20:06:28

    近日做题总结 P1789 MC插火把 一道简单的模拟题 大致有三种题解吧: 1.暴力 2.抽象问题 3.打表 1.先说抽象问题 首先我最开始想到的是 因为火把延伸最多两个 然后我还懒得判断是否越界(其实是不太会) 而且起始点是1,1 不是 二维数组的0,0 那么我就在正常大小的数组外面再开两圈让

  • memset使用技巧2021-09-18 08:35:24

    正无穷 memset(a,127,sizeof(a)); 负无穷 memset(a,128,sizeof(a)); 正无穷的一半 memset(a,60,sizeof(a)); memset(a,0x3f,sizeof(a)); 赋值0 memset(a,0,sizeof(a)); 赋值-1 memset(a,-1,sizeof(a)); 二维数组 #include <bits/stdc++.h> using namespace std;

  • 1304:数的划分2021-08-23 12:33:23

    数的划分 与 鸣人的影分身 不能说相似吧,只能说一模一样。 深搜应该也没问题,这里就不尝试了。 下面贴一个dp解法(上一题的注释懒得改了⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄) 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 const int N=205; 5 int f[8][N][N];

  • 差分约束2021-08-14 19:03:48

    前言 这个算是鸽了很久都没去学的算法。然后模拟赛考出来(我又不会并查集做法),所以在改题之前,还得先完成一下前置知识。 差分约束的前置知识 <Ⅰ>\(Spfa\)判断负环 【模板】负环 用\(Spfa\)判断入队次数是否\(≥n\),如果是,说明有负环。感性理解一下,一个图上如果有负环,它会一直绕着负

  • poj 3278(bfs模板题)2021-08-11 17:02:10

    #include<iostream> #include<queue> #include<cstring> #include<cstdio> using namespace std; int n,k,ans; int data[100005]; void bfs(){ memset(data,-1,sizeof data); queue<int>q; q.push(n); data[n] = 0; while

  • UVA610 Street Directions2021-08-08 17:34:47

    题目大意 给出一个无向连通图,让你改造成一个有向图,并保证强连通。 解题思路 先思考,将无向图改成有向图,需要顾及到一些割边,因为把割边删掉后,原图就不联通了,所以改造后的有向图需要完整的保留割边。 而对于不是割边的边,我们只需要保留一条边,可以在 tarjan 时,记录下来。 需要注意的:多

  • 板子2021-08-05 11:32:38

    板子 有些东西很重要,但又不常用 如果考试的时候忘了,又恰巧考了,那不就 GG 了 所以我就把这类东西记到这里 离散化 /************************************************************************* > File Name: lsh.cpp > Author: Typedef > Mail: 1815979752@qq.com

  • 动态规划-最长连续递增序列2021-08-04 16:32:59

    动态规划经典题型,难度低。 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]

  • [算法导论] 卡牌II2021-08-01 21:05:13

    https://www.jb51.net/article/87237.htm memset memset 是重置 memcopy(b,a,n*sizeof(int)) a拷贝到b #include<iostream> #include<algorithm> #include<string.h> using namespace std; int main(){ int i=1;int n,q,t; while(cin>>n>>q)

  • 【1085】Holding Bin-Laden Captive!2021-08-01 19:00:54

    1085 母函数。 #include<bits/stdc++.h> using namespace std; int c1[6000],c2[6000]; int main(){ int i,j; int a,b,c; while(1){ scanf("%d%d%d",&a,&b,&c); int sum=a+2*b+5*c; if(a==0&&b==0&&c==0&&sum==0)b

  • poj 3292(筛素数法变形)2021-08-01 17:04:18

    #include<iostream> #include<cmath> #include<cstring> #include<cstdio> #include<algorithm> #include<ctime> #define ll long long using namespace std; const int maxn = 1000005; int data[maxn],data2[maxn]; bool flag[maxn];

  • UVa 1630 - Folding (区间dp)2021-07-30 16:32:55

    题目链接:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4505 没有看出这是一道区间 \(dp\) 可以将串 \(S\) 分成 \(AB\) 两部分,一种方案是对 \(AB\) 直接拼接,另一种方案是将 \(B\) 折叠进入 \(A\),按照这两种方案转移即可,记录一下

  • 题解 P2417 【课程】2021-07-29 20:01:46

    P2417 课程 题目大意: 有 \(m\) 个教室,\(n\) 个学生,存在一些关系,问是否所有学生都可以上课。 solution: 看到这种两个集合中的点有关系的题果断想到二分图。 样例图: 然后我们求出当前二分图的最大匹配,若最大匹配数等于教室数,就满足题意。 细节处理: 邻接表数组要开足够! 多组数据别

  • HRBUST 1214 方格取数2021-07-26 03:00:57

    题目链接:HRBUST 1214 方格取数 题目大意: 题解: 设\(dp[i][j][x][y]\)表示第一次走到\(i\)行\(j\)列,第二次走到\(x\)行\(y\)列时能取的数的最大和。 状态转移方程: \[dp[i][j][x][y]=max\{dp[i-1][j][x-1][y], dp[i][j-1][x-1][y],dp[i-1][j][x][y-1], dp[i][j-1][x][y-1]\}+num[i][

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

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

ICode9版权所有