ICode9

精准搜索请尝试: 精确搜索
  • malloc()和calloc的区别2021-03-07 14:33:09

    calloc()申请的时候,会把申请的空间全部初始化为0 malloc()只能申请空间,后面还需要memset()函数初始化为0 因此,calloc()相当于一下完成了两个功能

  • 线性筛质数2021-03-04 20:58:37

    原理:根据质数,把这个质数的倍数除去。 void prime(int n,bool a[]){ memset(a,0,sizeof(bool)*(n+1)); a[0]=a[1]=1; //设置为合数 for(int i=2;i*i<=n;i++){ if(a[i]==0){ //质数 for(int j=i<<2;j<=n;j=j+i) a[j]=1; //把质数的倍数全部设置成合数 }

  • Dijkstra算法(例题)2021-02-28 18:03:26

    Dijkstra算法 从起点到终点求最短路 — 使用要求权值为正 1、求短路I https://www.acwing.com/problem/content/851/ //题目 点数 500 边数 1e5 #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int N = 510,M = 1e5+10; //时间

  • Codeforces 605D - Board Game(树状数组套 set)2021-02-27 13:01:26

    Codeforces 题目传送门 & 洛谷题目传送门 事实上是一道非常容易的题 很容易想到如果 \(c_i\geq a_j\) 且 \(d_i\geq b_j\) 就连一条 \(i\to j\) 的边表示用完 \(i\) 之后可以用 \(j\)。然后跑 BFS。 直接跑复杂度是 \(n^2\),不过发现一个性质,那就是每个点最多被访问一次,故考虑用数

  • AcWing 3250. 通信网络 两次bfs2021-02-25 17:01:37

    AcWing 3250. 通信网络 某国的军队由 N 个部门组成,为了提高安全性,部门之间建立了 M 条通路,每条通路只能单向传递信息,即一条从部门 a 到部门 b 的通路只能由 a 向 b 传递信息。 信息可以通过中转的方式进行传递,即如果 a 能将信息传递到 b,b 又能将信息传递到 c,则 a 能将信息传

  • poj31762021-02-25 09:32:25

    动态规划dp; 方法一(超时): #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int maxx=500; int d[maxx][maxx]; int a[maxx][maxx]; int n,m; int dfs(int x,int y){ if(d[x][y]==0){ d[x][y]=a[x][y]+max(dfs(x+1,y),df

  • DFS(深度搜索)2021-02-22 20:30:18

    最近学习了DFS还有BFS,刚刚接触,用的还不是很熟练,用一篇博客来记录一下加深自己的印象。 自己对于DFS算法的认识:就像在隧道中开灯一样,随意走,一直走到那个点的任何一条路灯都亮了,再返回到上一个点寻找,一直到所有的灯都亮 #include<stdio.h> #include<string.h>//后续需要清空数

  • int i=0x3f3f3f是什么意思?2021-02-22 12:04:34

    0x3f3f3f3f的十进制是1061109567,是10^9级别的,而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形 0x3f3f3f3f是一个很有用的数值,它是满足以下两个条件的最大整数。 1、整数的两倍不超过 0x7f7f7f7f,即int能表示的最大正整数。 2、整数的每8

  • 最短路径(2066)2021-02-19 20:59:59

    应用场景:给出存在的路径,求最短 核心代码: ```cpp //near存起点 //hope存终点 //初始化 const int INF = 0x3f3f3f3f int m[max][max]; memset(m, INF, sizeof(m)); for (int i = 0; i < max; ++i) m[i][i] = 0; int ans = INF; for (k = 0; k <=n; ++k)

  • 【ybt金牌导航2-2-1】最长公共子串2021-02-16 17:03:34

    最长公共子串 题目链接:ybt金牌导航2-2-1 题目大意 要找一个字符串,使得它的长度尽可能的大,而且对于每个字符串,它在字符串或者它的翻转串的其中一个串中出现过。 只要输出最长的长度即可。 思路 这道题我们考虑用 SA 加二分来做,虽然有很多解法。 首先,你把每个字符串和他们的翻

  • keil之error: #70: incomplete type is not allowed2021-02-13 13:29:03

    今天在使用memset()函数时出现了报错 memset(Lcd_Buf,0,sizeof(Lcd_Buf)); 开先以为是memset()出错了,捣鼓一阵才发现是sizeof()出错了 并不是sizeof这个关键词有什么问题,原因在我下面这行代码 extern u8 Lcd_Buf[]; 这里数组Lcd_Buf是一个全局变量,问题就在这,我的Lcd_Buf[]

  • HDU4635 强连通分量2021-02-11 20:05:07

    题目大意:给一张没有自环,没有重边的有向图。问最多加多少条边,要求加边完后的图没有自环,没有重边,且不是强连通的。 因为要添加最多的边,因此显然可以得到,最后的图是由两个强连通分量组成,设为a,b。a,b都为完全图,且a中所有点都指向b中每个点,b中点没有指向a中的点。 设a中的点数为x,b

  • codeforces1481 E. Sorting Books(贪心+dp)2021-02-11 18:59:13

    大佬题解1 大佬题解2 E. Sorting Books 首先每本书都移动,移动次数是n能够满足题意。如果某些书不用移动,说明把隔开他们中间的书全部抽走后自然成组。 对于每本书全部移动的情况,显然我们可以选择一种颜色的书全部不案,移动别的书,抽走隔开的书后那么他们就会自然成组。 如果存在

  • 蓝桥杯算法训练 矩阵乘法2021-02-11 13:34:01

    题目链接 问题描述   输入两个矩阵,分别是ms,sn大小。输出两个矩阵相乘的结果。 输入格式   第一行,空格隔开的三个正整数m,s,n(均不超过200)。   接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。   接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。 输出格式   m行,每行n个空

  • LeetCode3222021-02-08 21:58:05

    零钱兑换 分析 是一个完全背包问题。 class Solution { public: int coinChange(vector<int>& coins, int amount) { int dp[10000+100]; memset(dp,0x7f,sizeof(dp)); dp[0]=0; for(int i=0;i<coins.size();i++){ for(int

  • AcWing 587. 吃蛋糕2021-02-02 12:32:46

    原题链接 考察:完全背包dp 人傻了,本来还想先用二维,结果没写出来,一脸懵逼看了题解.题解全是一维,最后发现是我f[i][j] = min(f[i-1][j],f[i][j-i*i]+1)的第二个i写成了i-1,板子背错了= = 这道题的物品体积是i*i,价值是1.这样才能算出个数来 1 #include <iostream> 2 #include

  • 蜜蜂路线2021-01-31 09:01:43

    蜜蜂路线_高精 题目 一只蜜蜂在数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在请编程计算:蜜蜂从蜂房m开始爬到蜂房n,1<=m<n<=1000,有多少种爬行路线? 思路 读懂题目后,可能会有点蒙。但不急,先找规律。**到一个点的路线个数等于能到这个点的两点路线个数相加,**

  • 大整数加法怎么做?yangtuoyu的博客2021-01-24 08:01:03

    描述 求两个不超过200位的非负整数的和。 输入有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。输出一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。 样例输入 22222222222222222222 33333333333333333333 样例输出 555555555555555

  • Oil Skimming HDU - 41852021-01-23 22:35:09

    原题链接 还是不会建立二分图啊!!!蒟蒻落泪 想了很久以为是缩点,结果不用缩就是在相邻点处建边就行了(覆盖面积不允许重复!!!) 关键还是建立二分图:        这道题是将相邻点在不同集合,比如[1,1]在集合1,[1,2]、[0,1]在集合2.通过画图可以发现如果相邻则它们的i+j的奇偶一定不同

  • 【YBTOJ】【Luogu P4667】[BalticOI 2011 Day1]Switch the Lamp On2021-01-22 08:33:49

    链接: 题目 题目大意: 在一个 \(n\times m\) 的网格图中: 如果当前格子是 \,则可以让格子左上和右下的点连接,/ 则相反。但如果格子是 / 还要让左上和右下的点连接,就要增加 \(1\) 个价值。问从 点\((1,1)\) 到 点\((n+1,m+1)\) 的最少价值是多少,无解则输出 NO SOLUTION。 正文: 先考虑

  • 1003 Emergency (25分)2021-01-21 23:34:19

    As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marke

  • 【CF1473E】Minimum Path2021-01-16 08:01:21

    题目 题目链接:https://codeforces.com/problemset/problem/1473/E 一张 \(n\) 个点 \(m\) 条边的无向图,定义一条路径长度为其边权之和减去边权最大值再加上边权最小值。求 \(1\) 到所有点的最短路。 \(n,m\leq 2\times 10^5\)。 思路 等价于最大边权不用计算,最小边权乘二的最短路

  • 2021-01-092021-01-09 21:33:29

    求平均成绩 Problem Description 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。 Input 输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行

  • CF1466A Bovine Dilemma2021-01-09 12:33:42

    本题解与Luogu同步 Solution 很暴力的题目。 三角形面积公式 \(S=\frac{ah}{2}\) 因为高都是\(1\), 所以我们直接枚举底的长度,然后把底的长度用\(vis\)数组表示出现过没,最后输出 一定要记得 多组数据还原变量! code #include<cstdio> #include<cstring> #include<iostream> #include

  • CF1466B Last minute enhancements2021-01-09 12:33:25

    本题解与Luogu同步 Solution 考虑,若出现过就\(+1\),便是最优答案。 因为右边\(+1\)并不会影响左边 记得多组数据归零变量! Code #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int a[100007]; bool vis[200007]; int t, n, ans

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

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

ICode9版权所有