ICode9

精准搜索请尝试: 精确搜索
  • Leetcode6081. 到达角落需要移除障碍物的最小数目-----0-1BFS2022-06-04 17:03:26

    题目表述 给你一个下标从 0 开始的二维整数数组 grid ,数组大小为 m x n 。每个单元格都是两个值之一: 0 表示一个 空 单元格, 1 表示一个可以移除的 障碍物 。 你可以向上、下、左、右移动,从一个空单元格移动到另一个空单元格。 现在你需要从左上角 (0, 0) 移动到右下角 (m - 1,

  • 穿越雷区 (建图+最短路)2022-06-04 17:01:57

    X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。   某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?   已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量

  • 基于STM32智能窗帘设计(含源程序+proteus仿真)2022-06-04 11:02:12

    本设计: 基于STM32智能窗帘设计(含源程序+proteus仿真) 仿真:proteus8.11 程序编译器:keil 5 编程语言:C语言 编号C0007 资料下载链接 更多设计 功能说明: 有手动,自动两种模式: 1.自动模式:滑动变阻器模拟光照传感器,通过stm32检测与阈值比较 低于阈值开窗帘,高于阈值关闭窗帘; 2.手动模式:按键

  • OO第三单元总结2022-06-04 09:04:24

    OO第三单元总结 架构设计 本单元主要任务为阅读JML的属性和方法规格,来模拟一个社交网络模型,通过三次迭代,实现简单社交关系的模拟和查询、群组和消息功能以及社交关系系统中不同消息类型和操作。 由于是在JML规格的基础上编写代码,架构设计基本仿照代码模板进行设计,相比前两单元较

  • CF1163F Indecisive Taxi Fee2022-06-02 00:32:59

    洛谷题面 \(\rm update:\) 添加了代码。 题目大意 给你一个 \(n\) 个点,\(m\) 条边的无向图,每条边连接点 \(u, v\),并且有个长度 \(w\)。 有 \(q\) 次询问,每次询问给你一对 \(t, x\),表示仅当前询问下,将 \(t\) 这条边的长度修改为 \(x\),请你输出当前 \(1\) 到 \(n\) 的最短路长度。

  • 最小生成树2022-05-23 23:03:29

    Prim     O(mlogm) memset(dis, 80, sizeof(dis)); q.push({ 1,0 }); dis[1] = 0; while (!q.empty()) { int u = q.top().s; q.pop(); if (vis[u])continue; vis[u] = true, ++num, ans += dis[u]; for (int i

  • 图模型中,构建某一点到其余点距离之和最小的生成树2022-05-23 17:32:26

    AtCoder Beginner Contest 252 E - Road Reduction https://atcoder.jp/contests/abc252/editorial/4005 可以证明,总可以构建出一个生成树,使某一点到其余点的距离,等于原图中某一点到其余点的最小距离。 证明方法为,每次保留最小距离路径的最后一条边。 故可以使用dijkstra算法直接

  • AcWing 903. 昂贵的聘礼2022-05-22 21:04:38

    y总做法:建立一个虚拟原点,到所有物品的距离为物品原本价值,物品之间的价值为交易价值,枚举等级范围跑最短路即可 我的做法:以女儿为原点反向建图,物品之间的距离为交易价值,到每个物品的最短路加上这个物品的原本价值即为总花费,取最小 时间复杂度均为O(n^2*logn)(dij堆优化) #inclu

  • CF938D题解2022-05-20 20:01:40

    题面 Description: 给定一个 \(n(1\leq n\leq2\times10^5)\) 个点的无向图 \(G\) 和数组 \(a\),对于每个 \(i(1\leq i\leq n)\),求出 \(\min_{j=1}^n(2\times\operatorname{dis}(i,j)+a_j)\)。 因为题目把所有路径长度乘了个 \(2\),所以下文的讲述中默认将边权 \(\times2\)。 如果我

  • 1162. 地图分析(dijkstral+多源BFS)2022-05-19 23:33:02

    1162. 地图分析 你现在手里有一份大小为 n x n 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地。 请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的,并返回该距离。如果网格上只有陆地或者海洋,请返回 -1

  • [ZJOI2006]物流运输2022-05-19 22:35:35

    link 一道典型的早期OI题目:数据范围小,技巧性不强,代码简短,考察的知识点比较初级,但客观上来说仍然具有一定的思维难度。 对于这道题来说,读懂题是关键。题目是说假如给定一张无向图,图上一些节点在某个时间段内无法使用,且知道每次改变路径都会付出一定代价,询问总花费最小值。 显然可以

  • 一些简单的分治2022-05-19 20:34:07

    分治 P6932 [ICPC2017 WF]Money for Nothing gym 101471d P4183 [USACO18JAN]Cow at Large P 题目大意 给定 \(n\) 个点一棵树,奶牛 \(Bessie\) 在树上的一个点上,初始时每个叶子结点可以放一个 \(FJ\) 也可以不放,每一时刻, \(Bessie\) 和 \(FJ\) 可以同时向相邻的一个点走去,任意时刻

  • 优先队列自定义排序函数2022-05-18 13:33:18

    1 按数值从小到大输出 priority_queue<int,vector<int>,greater<int> >q; //可理解为值越来越大 2 按数值从大到小输出 priority_queue<int,vector<int>,less<int> >q; //可理解为值越来越小 3 默认值 相当于less priority_queue<int>q; 4.数据类型为结构体 自定义排序函

  • P6348 [PA2011]Journeys2022-05-16 16:00:07

    P6348 [PA2011]Journeys 题目描述 一个星球上有 n 个国家和许多双向道路,国家用 \(1\sim n\) 编号。 但是道路实在太多了,不能用通常的方法表示。于是我们以如下方式表示道路:\((a,b),(c,d)\)表示,对于任意两个国家 \(x,y\),如果 \(a\le x\le b,c\le y\le d\),那么在 \(x,y\) 之间有一条

  • NOIP提高组模拟赛242022-05-14 20:02:03

    差点又因为文件暴0。。。 A. matrix 状压,\(f[i][j][k]\)表示第\(i-1\)行状态为\(j\),第\(i\)行状态为\(k\)的最小花费。 貌似复杂度不对?但是舍弃非法状态后复杂度是可以接受的,具体怎么证明我不会 code #include<cstdio> #include<cstring> using namespace std; int min(int x,in

  • [机器学习]三角不等式加速K均值聚类及C++实现2022-05-13 02:00:40

    本博客涉及代码可在GitHub下载:传送门 K均值聚类 K均值聚类是常用的欧式距离聚类算法,即认为两个目标向量的差的模长越小,两个目标越可能是一类的。 通俗理解:牧师-村民模型 有四个牧师去郊区布道,一开始牧师们随意选了几个布道点,并且把这几个布道点的情况公告给了郊区所有的村民,于是

  • UVA1347 旅行 Tour(神仙dp状态!)2022-05-11 22:02:22

    做这题犯了好多 nt 的事,在朋友圈发完牢骚了! 记录一下这题的神仙状态设计吧qwq。 讲一下我的心路历程: 一开始:回路?搜索?不可能吧,这是蓝题啊( 经过思考:嗯这大概貌似是个 dp 吧,好像 LIS 的做法?变成两个人的相遇问题。但是很快我发现写不出来。 后来,经过某书的悉心指导,终于体悟了这道题对

  • CCF 201803-2 碰撞的小球2022-05-11 20:03:24

    没有好办法就暴力,没有好办法就模拟。 #include<iostream> using namespace std; struct node { int dis; bool dir;//1是向右 0是向左 } p[1005]; int num[1005];//用来记录每个位置有几个球 int sign[1005];//用来标志是否需要反向 int main() { int n,t,l; c

  • 220510总结2022-05-11 12:00:58

    220510总结 从此加入快读大军乐 inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch == '-') f=-1 ; ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch

  • PAT 甲级 1018 Public Bike Management2022-05-08 13:02:06

    先用迪杰斯特拉剪枝,再dfs确定最佳方案 #include<bits/stdc++.h> using namespace std; typedef pair<int,int> pii; const int N = 4010,INF = 0x3f3f3f3f; int n,m,c,t; int nums[N]; int head[N],dis[N],vis[N],cnt; int send=INF,bring=INF; struct BIAN{ int to,next

  • Dijkstra2022-05-07 10:04:44

    题目: LeetCode 743. 网络延迟时间。给定无负边图,求信号从某一源点散播到所有点的最短时间。 分析: 单源最短路问题,这里用Dijkstra算法实现。有几个注意点:优先队列调用的>需要用友元函数,参数为const xx&;优先队列波认为大根堆。另外这里选用链式前向星存图。 代码: const int MAXE

  • 点分治及动态点分治学习笔记2022-05-06 13:35:17

    前置知识:点分治 点分治,是处理树上路径的一个极好的方法。 如果你需要大规模地处理一些树上路径的问题是,点分治是一个不错的选择。 具体思路 P3806 【模板】点分治 给定一棵有 \(n\) 个点的树,询问树上距离为 \(k\) 的点对是否存在。 大多数同学的暴力做法都是对于每一个点对 \((u

  • 洛谷 P6822 - [PA2012]Tax(点转边+最短路)2022-05-06 11:04:59

    洛谷题面传送门 套路题一道。 首先直接抛出建图方式: 边化点,点转边。将每一条无向边 \(e=(u,v,w)\) 拆成一正一反两条有向边 \(e_1,e_2\),然后在 \(e_1,e_2\) 之间连权值为 \(w\) 的边。 对于每个点,将所有与其相连的边按权值从小到大排序,然后对于权值相邻的两条边 \((e_1,w_1),(

  • P1144 最短路计数2022-05-03 21:03:37

    题目链接 https://www.luogu.com.cn/problem/P1144 第一道绿题。。 本是想找几个最短路径做一下,然后去看了看lqs的博客,发现有这么个题(https://www.cnblogs.com/LQS-blog/p/16206505.html),他说:“当然,这类题也可以用dijkstra来处理,不过既然有了最优选择,何必去选择多余的呢,是吧”,欸我

  • Coolest Ski Route2022-05-03 19:34:41

    求最长路,可以用spfa做, 数组要开到1e6,否则会超时 #include <iostream> #include <queue> #include <cstring> using namespace std; const int N = 1e6 + 10; const int INF = 0x3f3f3f3f; #define x first #define y second int ne[N], e[N], w[N], h[N], idx, in[N]; type

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

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

ICode9版权所有