ICode9

精准搜索请尝试: 精确搜索
  • 【坚持每日一题9.23】运算2021-09-23 09:05:12

    请实现整数数字的乘法、减法和除法运算,运算结果均为整数数字,程序中只允许使用加法运算符和逻辑运算符,允许程序中出现正负常数,不允许使用位运算。 你的实现应该支持如下操作: Operations() 构造函数 minus(a, b) 减法,返回a - b multiply(a, b) 乘法,返回a * b divide(a, b) 除法

  • ALGO-973 唯一的傻子 蓝桥杯题解2021-09-16 21:34:56

    ALGO-973 唯一的傻子 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 腿铮找2255有点事,但2255太丑了,所以腿铮不知道他的长相。正愁不知道到如何找他的时候,他突然看见计33班围成了一个圈在领微积分试卷。计33班有n个人,其中班长编号为0,其余同学依次按顺时针方向编号。   只

  • P1352 没有上司的舞会 (树形dp2021-09-06 19:02:23

    添加链接描述 #include<bits/stdc++.h> using namespace std; const int N=6e3+9; int n,w[N]; int idx,e[N],ne[N],h[N],dp[N][2]; void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; } void dfs(int u){ dp[u][0]=0; dp[u][1]=w[u]; for(int i=h[

  • P1122 最大子树和 (树形dp2021-09-06 19:00:03

    添加链接描述 #include<bits/stdc++.h> using namespace std; const int N=32009; int w[N]; int e[N],h[N],ne[N],idx,vis[N]; void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; } int dp[N]; void dfs(int u,int fa){ dp[u]=w[u]; for(int i=h[u];~i

  • 多源最短路多种实现方式2021-09-05 16:01:36

    问题引入 以下代码均对应本题 Floyd算法 时间复杂度 \(O(n^3)\) 特点 仅适用于数据范围较小的情况 既适用于图,也适用于树 算法流程 Floyd算法 倍增借助LCA 时间复杂度 预处理:\(O(nlog_n)\) 单次查询: \(O(log_n)\) 实现流程 目标求解\(3\),\(4\)两点间最短距离\(dis\),有两种求

  • 算法打卡:数组模拟单链表2021-08-24 19:58:42

    算法打卡:数组模拟单链表 一:模板题 2021/8/24 19:55 题目: ​ 思路: ​ 代码: #include <iostream> using namespace std; const int N = 100010; //head 记录头节点下标,e[N] 记录节点数值 ,ne[N] 记录节点next值 ,idx 模拟指针 记录当前正在使用的数组下标 int head, e[N],

  • P6560 [SBCOI2020] 时光的流逝2021-08-20 19:02:23

    P6560 [SBCOI2020] 时光的流逝 博弈论水题 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queue> using namespace std; int n,m,qq; queue<int> q; int cn; int cntt[100001]; int tu[100001],ct[100001];

  • 2021牛客暑期多校7-xay loves floyd2021-08-13 17:02:50

    题意是如果把floyd算法的k循环写在了最内层,有多少dis[i][j]还是正确的。n是顶点数,m是单向边数,n<=2000,m<=5000。 dis[i][j]是i到j的最短路长度,w[i][j]是i到j的边权。 注意到m只有5000,图不是很稠密,可以做n次Dijkstra得到dis数组,这部分复杂度是O(nmlogm)。 1.如果dis[i][j]==w[i][j]

  • 哈希表2021-08-11 14:31:55

    模拟散列表 维护一个集合,支持如下几种操作: I x,插入一个数 x; Q x,询问数 x 是否在集合中出现过; 现在要进行 N 次操作,对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N,表示操作数量。 接下来 N 行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。 输出格式 对于每个

  • 图的邻接表存储(链式前向星)2021-08-11 02:32:05

    链式前向星 发现一个对链式前向星讲解特别好的视频,在这里分享给大家。 代码 // 稠密图用邻接矩阵来存储 // 稀疏图(用邻接表(链式前向星)来存储) int N, M; int[] h = new int[N]; // h : head int[] w = new int[M]; // w : weight int[] e = new int[M]; // e : end int[] ne

  • 分层图2021-08-09 12:34:34

    有k次机会让图中边权值为0, 第一种方法: 建图的时候建立k+1层图, 走了权值为0的边就表示用掉了一次机会, 最后在n, n + n, ...k + n中取最小值 原图链接 #include<iostream> #include<queue> #include<algorithm> #include<cstring> #include<vector> using namespace std; #defi

  • Atcoder Grand Contest 038 F - Two Permutations(集合划分模型+最小割)2021-08-08 11:02:10

    洛谷题面传送门 & Atcoder 题面传送门 好久前做的题了……今天偶然想起来要补个题解 首先考虑排列 \(A_i\) 要么等于 \(i\),要么等于 \(P_i\) 这个条件有什么用。我们考虑将排列 \(P_i\) 拆成一个个置换环,那么对于每一个 \(i\),根据其置换环的情况可以分出以下几类: 如果 \(i\) 所在

  • 洛谷P2015 二叉苹果树2021-08-05 16:36:42

    题意: 数有\(N\)个节点,根编号为\(1\),一根树枝连接两个编号,树枝上有一定数量的苹果,给定需要保留的边数,求最多能留住多少苹果。 思路: 树形\(DP\) + 有依赖的背包问题 看成有依赖的背包问题:f[u][j]就表示以\(u\)为根节点的子树,选\(j\)条边的最大价值。 那么转移方程:\(f[u][j] = max(f[

  • 条件测试与if语句用法2021-08-05 08:33:15

    一、条件测试 1、test命令 测试表达式是否成立,若不成立返回0,否则返回其他数值 格式1:test 条件表达式 格式2:[ 条件表达式 ] 2、文件测试 [ 操作符 文件或目录 ]    -d 测试是否为目录(Directory) -e 测试目录或文件是否存在(Exist) -f 测试是否为文件(File) -r 测试当前

  • querywarpper and(** or **)2021-08-02 15:35:19

    queryWrapper.eq("fatherCode","1"); queryWrapper.and(Wrapper -> Wrapper.ne("interfaceId",1).or().isNull("isInterface")); 相当于  where fatherCode = 1 and ( interfaceId != 1 or isInterface is null)   queryWrapper.eq(&

  • KMP情况简单概括分析2021-08-01 19:02:39

    KMP情况概括分析 文章目录 前言一、说明总结 前言 今天看了KMP,思考了很久,才感觉明白了一点,我觉得这个算法就是两种情况,推荐B站的https://www.bilibili.com/video/BV1Qb411h7U6/ 讲的很明白。 一、说明 S是模范串(长),P是模版串(短)。 ne[]用来存储P的最长公共前后缀。 p,s

  • 剪花布条 HDU - 2087(KPM字符串匹配问题)2021-07-31 09:01:36

    剪花布条  HDU - 2087 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有

  • 点 分 治2021-07-30 14:32:50

    POJ 1741 做到这题就像怎么做,想了半个小时网上搜下思路,发现是点分治板子题了属于是; 点分治,是在一棵树上的处理方法,处理什么问题我也不知道,主要步骤如下: 1.找重心; 2.统计合法方案; 3.递归找接下来的方案; 方案分成三类: 1.穿过重心的; 2.圈地自萌的; 3.停在重心的,需要去特判一下; 不

  • Coloring Contention2021-07-26 15:00:56

    #include <bits/stdc++.h> #include<string.h> #include<iostream> #include<algorithm> #include<stdio.h> #define N 10000000 #define M 10000000 using namespace std; int js=0; int h[N], e[M], w[M], ne[M], idx; int dist[N], st[N];//

  • bfs应用---拓扑排序2021-07-22 08:00:06

    含义 所有点都是从小编号指向大编号 是一个有序无环图 检查时遍历所有入度0的节点并删除与之相关的连线 模板 有向图的拓扑序列 #include<iostream> #include<cstring> using namespace std; const int N = 100010; int e[N],ne[N],h[N],idx; int q[N],d[N]; int n,m; void ad

  • ciscn_2019_ne_52021-07-22 01:02:32

    首先checksec和查看多少位的程序    可以看到是32位的程序,放入ida中      进入getflag    可以看到strcpy存在栈溢出,所以大体思路就是输入密码进入选择1造成溢出然后进入选择4获取shell 经过网上查询,不知/bin/sh可以获得shell,只有sh也可以获得shell 所以使用ROPgadget和

  • shell 012021-07-20 21:58:37

    1.$?判断上一条命令是否执行成功 if [ $? -ne 0 ]; then echo “failed” else su -user - c ;mkdir test c表示切换到这个用户执行命令 3.read -p 读入输入值 read -p “请输入你要ping的ip地址:” ip (保存为ip的变量) #"&>"的意思是把ping的结果重定向输出到一个指定的文件

  • Taxi Cab Scheme HDU - 13502021-07-15 09:31:07

    原题链接 考察:二分图匹配 思路:   最小路径点覆盖.每个任务的接连完成构成一条简单路径,求最少的简单路径覆盖所有的任务点. Code #include <iostream> #include <cstring> using namespace std; const int N = 510; typedef pair<int,int> PII; struct Node{ int t,sx,sy,x,

  • 洛谷 P7718 -「EZEC-10」Equalization(差分转化+状压 dp)2021-07-12 12:31:28

    洛谷题面传送门 一道挺有意思的题,现场切掉还是挺有成就感的。 首先看到区间操作我们可以想到差分转换,将区间操作转化为差分序列上的一个或两个单点操作,具体来说我们设 \(b_i=a_{i+1}-a_i\),那么对于一次形如 \(\forall i\in[l,r],a_i\leftarrow a_i+x\) 的操作三元组 \((l,r,x)\),我

  • 暑假acwing算法总结7:KMP算法2021-07-09 19:02:39

    KMP算法:人类精华 #include<iostream> using namespace std; const int N = 100010, M = 10010; //N为模式串长度,M匹配串长度 int n, m; int ne[M]; //next[]数组,避免和头文件next冲突 char s[N], p[M]; //s为模式串, p为匹配串 int main() { cin>>n>s+1>>m>>p+1; //下标

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

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

ICode9版权所有