![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
sink zhang
今日事,今日毕
展开
-
最小惩罚
给定⼀个 ⽆向图 包含 N 个节点和 M 条边, 每条边 Mi 的代价为 Ci 。图中⼀条路径的惩罚是指对该路径上所有边的代价 Ci 执⾏位运算或(bitwise OR)操作得到的。假如⼀条路径上包含了边 M1,M2,M3 … … ,Mk,那么对应的惩罚就是 C1 OR C2 OR C3 OR … OR Ck。(OR代表位运算或,即 “|” )问题:给定图上两个节点 start 和 end,找到从 start 到 end 的所有路径中惩罚值最⼩的路径,对应的最⼩惩罚值作为结果返回。如果路径不存在就原创 2020-11-26 17:01:28 · 415 阅读 · 1 评论 -
区间问题以及双指针解法
合并时间区间(建议时间复杂度 O(n) )给定⼀个按开始时间从⼩到⼤排序的时间区间集合,请将重叠的区间合并。时间区间集合⽤⼀个⼆维数组表示,⼆维数组的每⼀⾏表示⼀个时间区间(闭区间),其中 0 位置元素表示时间区间开始,1 位置元素表示时间区间结束。例 1:输⼊:[ [1, 3], [2, 6], [8, 10], [15, 18] ]返回: [ [1, 6], [8, 10], [15, 18]]解释:时间区间 [1, 3] 和 [2, 6] 有部分重叠,合并之后为 [1, 6]例 2:输⼊原创 2020-11-23 11:37:40 · 328 阅读 · 0 评论 -
岛屿问题和昆虫越障问题以及岛屿最大面积
岛屿问题题目地址:https://leetcode-cn.com/problems/number-of-islands/submissions/package A.giao;public class demo200 { public static void main(String[] args) { String str0="11110"; String str1="11110"; String str2="11110"; St原创 2020-11-21 11:41:40 · 240 阅读 · 5 评论 -
八大排序之冒泡排序(一)
冒泡排序是在每次循环中将相邻的两个数字进行比较,最后,会把最大(最小)的数字放到最后一个,所以称之为冒泡-BubbleSort如果有n个数字进行排序,在冒泡排序的过程中,最外层的循环次数n-1就是比较的躺数,内层循环即在每趟中进行n-i-1次比较对于数组data,排序过程如下:数组的长度为20第0次排序:[3, 3, 12, 32, 90, 123, 1, 2, 12, 3, 12, 3, 2, 32, 234, 1, 213, 1, 90, 313]第1次排序:[3, 3, 12, 32,原创 2020-08-11 15:05:30 · 242 阅读 · 0 评论 -
第十一届蓝桥杯模拟赛-郊外植树
小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗。 小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n 个。他们准备把自己带的树苗都植下去。 然而,他们遇到了一个困难:有的树苗比较大,而有的位置挨太近,导致两棵树植下去后会撞在一起。 他们将树看成一个圆,圆心在他们找的位置上。如果两棵树对应的圆相交,这两棵树就不适合...原创 2020-04-23 22:16:11 · 1343 阅读 · 1 评论 -
222333
题目链接若p是质数,则对于任一整数a,或者p|a,或者(p,a)=1,整句说明一遍 然后再把这些符号说下,若p是质数,则对于任一整数a,要么p能整除a(p是a的质因数或者说a是p的倍数),要么p和a互质(最大公约数是1)首先幂次方的值会越来越大很容易溢出,所以在这里使用数组进行存值,遍历的话也有很多方法,有暴力枚举的,这里巧妙的使用的搜索的办法,因为要求满足上述条件的数对(m,n)中...原创 2020-01-26 18:04:02 · 847 阅读 · 0 评论 -
蓝桥杯 波动数列
题目地址:https://www.dotcpp.com/oj/problem1449.html。刚看到这个题目第一个想法就是深搜#include <iostream>using namespace std;long long n, s, a, b;long long sum;long long cnt = 0;long long mo = 100000007;int ...原创 2019-11-16 14:52:53 · 361 阅读 · 1 评论 -
小易的字典【排列组合】
题目链接:https://www.nowcoder.com/practice/12b1b8ef17e1441f86f322b250bff4c0?tpId=98&tqId=32838&tPage=1&rp=1&ru=/ta/2019test&qru=/ta/2019test/question-ranking很明显按照字典序排序选取,第n个字符串,很容易想到...原创 2019-09-18 11:04:18 · 237 阅读 · 1 评论 -
数状数组
魔女要测试骑士的能力,要求他维护一个长度为 的序列,每次要询问一个区间的和。但是魔女觉得太简单了,骑士能轻松记住 个数作为前缀和。于是,魔女要求他回答一个区间的和,但如果某一个数在这个区间出现了多次,这个数只能被计算一次。 题目链接https://ac.nowcoder.com/acm/contest/1084/B,这道题和一般的数组前缀和区别在于,一段区间中的重复数字不重复进行计...原创 2019-09-17 20:31:14 · 190 阅读 · 0 评论 -
矩阵前缀和
今天在学习的过程总,遇到了以前曾经学到的前缀和,不过这个稍微复杂一点,二维数组的前缀和,也可以说是矩阵前缀和一维数组中转变为前缀和数组之后,每一行就代表着前几项的总和,同理前缀和矩阵中每一个元素代表着以这个一个元素为右下角矩阵里面所有元素的和,利用前缀和的特性可以做很多题目,最主要的一个题目类别就是在一个大矩阵中选取满足一定条件的子矩阵,比暴力来做节省了很大的开销,同样也有更高维度的比如三维,...原创 2019-09-15 11:02:56 · 1197 阅读 · 0 评论 -
ACM n-1位数多种解法以及比较
描述已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。输入第一行为M,表示测试数据组数。接下来M行,每行包含一个测试数据。输出输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。样例输入4102359239231000样例输出23923230...原创 2019-09-14 16:59:25 · 275 阅读 · 0 评论 -
倒序的动态规划
今天突然心血来潮想写一篇博客,一切的想法来源于这一道题,求(n,n)点的最少减速速度,可以转化为求(n-1,n)和(n,n-1)两点的最少减速速度,然后加上(n,n)点的减速速度,转化为最优子问题,用动态规划,这里采用自下而上的解法。#include<stdio.h>int main(){ long long int i,j,n; scanf("%ll...原创 2019-07-29 10:24:58 · 749 阅读 · 0 评论