ICode9

精准搜索请尝试: 精确搜索
  • POJ 1274 The Perfect Stall2022-01-30 21:02:47

    题目链接:POJ 1274 The Perfect Stall 题目大意: 题解: 二分图匹配模板。 #include <cstring> #include <iostream> using namespace std; #define io_speed_up ios::sync_with_stdio(false), cin.tie(0), cout.tie(0) int n, m, link[210], ans; bool vis[210], g[210][210]; bo

  • xinjun与阴阳师2022-01-28 22:04:22

    xinjun是各类手游的狂热粉丝,因随手一氪、一氪上千而威震工大,现在他迷上了阴阳师。xinjun玩手游有一个习惯,就是经过层层计算制定出一套方案来使操作利益最大化(因此即使有扫荡券也不用,故称圣雄肝帝)。已知阴阳师有N个模式可以操作,模式i有ai种操作,但每种模式每日只能选用一种操

  • 最少拐弯(广搜)2022-01-28 11:05:12

    1 #include<bits/stdc++.h> 2 using namespace std; 3 int dx[]={0,1,0,-1}; 4 int dy[]={1,0,-1,0}; 5 struct sj 6 { 7 int x,y,turn; 8 }s,t,p; 9 queue<sj> q; 10 int n,m,c[101][101]; 11 bool v[101][101]; 12 int main() 13 { 14 cin>

  • 背包问题-极小值-空间至少是j2022-01-27 09:35:05

    从前i个物品中选,且总体积至少是j,初始化是f[0][0] = 0, 其余是INF(只会求价值的最小值) 例子:给你一堆物品,每个物品有一定的体积和对应的价值,每个物品可以选无数多个,求总体积至少是j的最小价值(AcWing 1020. 潜水员 ) 输入 4 5 1 2 2 4 3 4 4 5 输出 10 二维 #include <bits/stdc++.h>

  • 背包问题-极大极小值-空间恰好是j2022-01-27 09:02:09

    一、01背包 1、最小值 求价值最小值:初始化\(f[0][0] = 0\), 其余是\(INF\) 例子:给你一堆物品,每个物品有一定的体积和对应的价值,每个物品只能选一个,求总体积恰好是\(m\)的最小价值 输入 4 5 1 2 2 4 3 4 4 5 输出 7 二维 #include <bits/stdc++.h> using namespace std; const int

  • C++ 算法 高精度(较详细.)2022-01-25 19:02:33

    概念                在我们进行计算的过程中,经常会遇到几十位,甚至几百位的数字的计算问题,也有可能会遇到小数点后几十位,几百位的情况,而我们面对这样的情况下,   和 的数据范围显然是不够使用的了。因此这时,我们就需要引入一个新的算法,叫做高精度算法 .    

  • 一些函数使用上的问题2022-01-19 17:35:49

    memset函数问题: 函数介绍 编辑 播报 void *memset(void *s, int ch, size_t n); 函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。 memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 

  • 洛谷P7735题解2022-01-18 12:33:51

    不得不说今年难度比去年小了很多。不过不管哪一年白都是时代的眼泪呢。 这题上来 0s 想到树剖,然后考虑维护。想了 5min 想到了 ix35 鸽鸽的写法,然后觉着不好写继续想,推了 1h 以后推出了这个写法(我伞兵, ix35 鸽鸽才是 yyds !!!! 11111 )。 先把拿到的树顺手剖分,然后考虑1操作。我一开始

  • 洛谷P10472022-01-10 15:05:00

    在比赛中能用一维数组,较少的代码就用较少的 #include <bits/stdc++.h> using namespace std; const int N = 1e4 + 5; bool st[N]; int main() { int m, l, sum = 0; cin >> l >> m; memset(st, 1, sizeof st); for (int i = 0; i <= l; ++i) st[i] = 1; for (int

  • 洛谷P1255 数楼梯2022-01-09 12:03:14

    递推基础题。对于洛谷的测试,此方法可以AC。acwing不行。 此问题就是个斐波那契数列f(x)=f(x-1)+f(x-2)。但由于数据过大,只能再用高精配合 思路: 1.定义三个数组,分别代表f(x)、f(x-1)、f(x-2)。 2.一个递推函数 3.一个高精度函数 4.一个复制函数,在x值变化时改变三个数组的对应值

  • 使用visual studio code开发c++程序时的注意事项2022-01-05 11:40:40

    使用visual studio code开发c++程序时的注意事项 建议使用minGW作为c++编译器套装 用visual studio code开始写c++之前,卸载visual studio!卸载visual studio!卸载visual studio! visual studio会附带下载一堆c++头文件,和minGW产生重叠。例如,在c++代码中使用memset函数,本来应该要#

  • SP18966 VACATION - Vacation Planning 题解2021-12-28 13:02:42

    题目传送门 题意简述 给定一张有向带权图,有 \(Q\) 个请求,每个请求给出点 \(a_i\),\(b_i\),费用为 \(a_i\) 经过点 \(1 \rightarrow K\) 中的至少一个到达 \(b_i\) 的最小权值和。求出可行的请求数和最小费用和。 分析 有多个询问,很明显是多源最短路,求多源最短路可以用 Floyd,也可以调

  • 动态规划求解多段图问题2021-12-23 22:05:40

    动态规划求解多段图问题(非递归) 问题描述求解思路动态规划逆序解法逆序实现代码 动态规划逆序解法顺序实现代码 问题描述 如图所示,在A处有一水库,现需要从A点铺设一条管道到E点,边上的数字表示与其相连的两个地点之间所需修建的管道长度用c数组表示, 例如c(A,B1)=2。现

  • Partitioning by Palindromes2021-12-14 20:31:46

    #include <bits/stdc++.h> using namespace std; typedef long long ll; #define itn int #define retrun return #define _memset(a) memset((a), 0, sizeof((a))) int dp[1010]; char s[1010]; bool judge(int l, int r) { while (l < r) { if (s[

  • 川大新生赛----羊工八刀----数学思维+前缀和2021-12-14 13:02:48

    这题第一眼以为是差分,第二眼以为是dp,其实只是一个数学公式的化简 题目链接 对于每个含1的位置i,预处理出其前边所有位置的贡献就是 前i个数里,如果位置x是1,则加上(i-x)^2 公式化简就是 cnt1[i]*i*i+cnt3[i]-2*i*cnt2[i] #include<iostream> #include<cstring> #include<algorithm

  • 矩阵2021-12-12 12:32:10

    请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)  注意: 一个有效的数独(部分已被填充

  • 题解 - CF706C2021-12-12 12:02:13

    动态规划吧,不难,被坑了一下,一定不要直接用memset给dp赋0X7F,因为memset按位初始化,所以可能导致有的地方数值不够大。 好吧,我几乎不懂。。。可以的话去学一下memset赋值原理吧。 /* 对于正解状态,第dp[i][0/1]分别表示到达第i个位置时的最少energy。If both dp[i][0] and dp[i][1] 对

  • memset()函数及其作用 assert 以及队列2021-12-09 18:35:14

     一.memset函数 memset()函数原型为extern void *memset(void *buffer , int c , int count) buffer : 为指针或是数组 c:是赋给buffer的值 count:是buffer的长度 作用: memset将指针变量buffer所指向的前count个字节的内存单元用一个整数‘c’替换,一般对较大的数组或结构体进行初始

  • dfs题解:n皇后2021-12-03 19:32:20

    一,题目: 二,主要思想: dfs深度搜索 三,所用函数: memset(内存赋值函数)。 四,思路: 1,主体思路: 通过建立递归在二维数组(n*n)中找到不在同一横、竖、斜线上的n个点。 2,判断不在同一横、竖、斜线思路(本题难点): 横:我通过按行进行递归避免了在同一行的问题,即用行作为递归函数的形参每次递归在本

  • 竞赛中用到的一些STL2021-11-28 19:02:38

    memset(a,0,sizeof(a)); //数组初始化为0 memset(b,-1,sizeof(b)); //数组初始化为-1 不使用cmp:在上升序列中找第一个比k大的 使用cmp:在下降序列中找第一个比k小的 两者默认都是从前向后找,lower更靠前,找到的可以等于k bool cmp(int a,int b) {return a>b;} lower_bo

  • 489 Hangman Judge (UVA)2021-11-25 21:00:52

    目录 ​ AC source code: Vocabulary:  "turned over"is equal to elimination. AC source code: #include<iostream> #include<cstring> #include<cmath> #include<algorithm> using namespace std; char s[105]; char b[105]; int main

  • 【P1772 [ZJOI2006]物流运输】题解2021-11-16 18:34:14

    题目链接 一道很好的最短路+dp。 先考虑最后结果,设 \(dp_i\) 表示前 \(i\) 天的最小费用。设 \(f(i, j)\) 为从第 \(i\) 天到第 \(j\) 天都走同一条道路的最小费用。 \(f(i, j)\) 很好求,提前预处理这段时间内哪些点不能走然后再可以走的点内跑一遍最短路即可。 转移: \(dp_i=\min_{

  • poj 1051(水题,注意memset的使用和字符串操作)2021-11-10 19:32:01

    #include<iostream> #include<cctype> #include<cstring> #include<string> using namespace std; int main(){ char a[][5] = {".-","-...","-.-.","-..",".","..-.","--.&qu

  • memset的简单使用2021-11-07 10:59:42

    #include<stdio.h> #include<string.h> int main() { char a[10]; memset(a,'X',sizeof(a)); for(int i=0;i<10;i++) { printf("%c ",a[i]); } return 0; } 输出结果: X X X X X X X X X X 也可以写成: #include&

  • NOIP2020 字符串匹配2021-11-02 23:01:13

    NOIP2020 字符串匹配 这里只讲满分做法 首先,这道题肯定要枚举字符串的长度。考虑到枚举C的长度还需要再枚举AB来验证,而仅仅枚举A就不可避免地还要枚举B的长度。所以我们考虑枚举AB的长度,然后再通过C计算此时对答案的贡献 接下来就考虑两件事情: 1.AB能延伸到多远2.如何计算合

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

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

ICode9版权所有