自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

皓首不倦 不负少年

永远向大神们看齐,欢迎志同道合技术爱好者加微信CODER-GRH,非技术人员勿扰

  • 博客(353)
  • 资源 (17)
  • 收藏
  • 关注

原创 AcWing DFS相关问题 165. 小猫爬山

import syssys.stdin = open('data.txt', 'r')'''先降序排序,然后递归枚举每一只猫放到哪辆车上,要么放在已经存在的车上,要么重新加一辆车,放到新车上'''arr = []n, w = map(int, input().split())for i in range(n): arr.append(int(input()))arr.sort(reverse=True)sum_weight = [0] * 20ans = [0x7.

2020-08-06 01:21:41 196

原创 AcWing BFS相关问题 1107. 魔板

import syssys.stdin = open('data.txt', 'r')'''BFS 状态拓展应用'''from collections import dequetarget = list( map(int, input().split()) )def hash(arr): ans = 0 base = 1 for i in range(8): ans += arr[i] * base base *= 10 .

2020-08-06 01:20:32 225

原创 AcWing BFS相关问题 1100. 抓住那头牛

import syssys.stdin = open('data.txt', 'r')'''简单BFS找最短路长度'''from collections import dequem, n = map(int, input().split())def bfs(m, n): que = deque() que.append(m) visited = {m} step = 0 while len(que) > 0: node..

2020-08-06 01:18:28 225

原创 AcWing BFS相关问题 1098. 城堡问题

import syssys.stdin = open('data.txt', 'r')from collections import dequegrid = []m, n = map(int, input().split())for i in range(m): grid.append( list(map(int, input().split())) )def bfs(i, j) -> int: que = deque() que.append((i, j.

2020-08-06 01:17:35 219

原创 AcWing BFS相关问题 1097. 池塘计数

import syssys.stdin = open('data.txt', 'r')from collections import dequegrid = []m, n = map(int, input().split())for i in range(m): s = input() grid.append( [val for val in s] )def bfs(i, j): que = deque() que.append((i, j)) .

2020-08-06 01:16:35 197

原创 AcWing BFS相关问题 1076. 迷宫问题

import syssys.stdin = open('data.txt', 'r')'''简单bfs应用'''from collections import dequegrid = []n = int(input())for i in range(n): grid.append( list(map(int, input().split())) )prev = {(0, 0): None} # 记录路径que = deque()que.append((0, 0).

2020-08-06 01:15:43 180

原创 AcWing BFS相关问题 188. 武士风度的牛

import syssys.stdin = open('data.txt', 'r')'''BFS层次遍历,求最短路径长度'''from collections import dequen, m = map(int, input().split())si, sj = -1, -1ei, ej = -1, -1grid = []for i in range(m): s = input() grid.append( [ch for ch in s] ) ..

2020-08-06 01:14:26 150

原创 AcWing BFS相关问题 173. 矩阵距离

import syssys.stdin = open('data.txt', 'r')'''多源BFS应用'''from collections import dequem, n = map(int, input().split())one_pos = []for i in range(m): s = input() for j in range(n): if s[j] == '1': one_pos.append((i, ..

2020-08-06 01:12:56 148

原创 AcWing A*算法相关问题 179. 八数码

import syssys.stdin = open('data.txt', 'r')from copy import deepcopyfrom queue import PriorityQueuedef arr2grid(arr): return [ [arr[0], arr[1], arr[2]], [arr[3], arr[4], arr[5]], [arr[6], arr[7], arr[8]] ]def distance(grid): m = {1:(0, 0.

2020-08-06 01:11:20 163

原创 AcWing A*算法相关问题 178. 第K短路

import syssys.stdin = open('data.txt', 'r')'''先利用反向边用单元最短路求所有点到终点的最短距离,把这个距离作为预估值做A*,第k次出队列的状态中的距离就是答案'''from typing import List, Tuplefrom queue import PriorityQueueclass DijkStra: # start_node 是单源最短路起点 edges是边的三元组(节点1, 节点2, 边权重) nodes是..

2020-08-06 01:09:55 177

原创 AcWing 状态压缩DP相关问题 1064. 小国王

'''原点加上任意两个点可以确定一条抛物线,先把所有抛物线全部算出来然后计算落到每条抛物线上的点信息,转换成一个区间覆盖问题求解用状态压缩DP解决'''# 计算点是否在抛物线上def is_match(x, y, a, b): val = a* x * x + b * x return abs(val - y) <= 1e-6# 1的数量def one_cnt(val): ans = 0 while val: ans += ..

2020-08-03 14:06:46 149

原创 AcWing 状态压缩DP相关问题 524. 愤怒的小鸟

'''原点加上任意两个点可以确定一条抛物线,先把所有抛物线全部算出来然后计算落到每条抛物线上的点信息,转换成一个区间覆盖问题求解用状态压缩DP解决'''# 计算点是否在抛物线上def is_match(x, y, a, b): val = a* x * x + b * x return abs(val - y) <= 1e-6# 1的数量def one_cnt(val): ans = 0 while val: ans += ..

2020-08-03 14:05:48 1763

原创 AcWing 状态压缩DP相关问题 327. 玉米田

'''状态压缩DP求解'''M, N = map(int, input().split())grid = [0] * Mfor line_idx in range(M): arr = list(map(int, input().split())) for i, val in enumerate(arr): if val == 1: grid[line_idx] |= (1 << i)# dp(i, j) 表示前i行进行放.

2020-08-03 14:04:32 167

原创 AcWing 状态压缩DP相关问题 292. 炮兵阵地

import syssys.stdin = open('data.txt', 'r')from functools import lru_cacheN = int(input())link = {}weight = {}parent = {}for _ in range(N): arr = list( map(int, input().split()) ) link[arr[0]] = arr[3:] weight[arr[0]] = arr[1] ..

2020-08-03 14:03:40 120

原创 AcWing 树形DP相关问题 1077. 皇宫看守

import syssys.stdin = open('data.txt', 'r')from functools import lru_cacheN = int(input())link = {}weight = {}parent = {}for _ in range(N): arr = list( map(int, input().split()) ) link[arr[0]] = arr[3:] weight[arr[0]] = arr[1] ..

2020-08-03 13:54:25 138

原创 AcWing 树形DP相关问题 1075. 数字转换

import syssys.stdin = open('data.txt', 'r')'''树形DP, 树的最长路径的应用, 求一个森林里面所有树的最长路径的最大值'''N = int(input())# 先求所有值的约数factor = {}for i in range(1, N+1): for j in range(2, N // i + 1): # 约数不能是自己,所以从2开始枚举,如果约数可以是自己,从1开始枚举 if i*j not in fact.

2020-08-03 13:52:51 181

原创 AcWing 树形DP相关问题 1074. 二叉苹果树

import syssys.stdin = open('data.txt', 'r')N, Q = map(int, input().split())link = {}for i in range(1, N): a, b, w = map(int, input().split()) if a not in link: link[a] = [] if b not in link: link[b] = [] link[a].a..

2020-08-03 13:51:25 158

原创 AcWing 树形DP相关问题 1073. 树的中心

N = int(input())link = {}for i in range(1, N): a, b, w = map(int, input().split()) if a not in link: link[a] = [] if b not in link: link[b] = [] link[a].append((b, w)) link[b].append((a, w))# 随便选一个节点作为树的根,递归算每个节点到.

2020-08-03 13:50:09 188

原创 AcWing 树形DP相关问题 1072. 树的最长路径

N = int(input())link = {}for i in range(1, N): a, b, w = map(int, input().split()) if a not in link: link[a] = [] if b not in link: link[b] = [] link[a].append((b, w)) link[b].append((a, w))# 随便选一个节点作为树的根,递归算每个节点到.

2020-08-03 13:49:16 156

原创 AcWing 树形DP相关问题 323. 战略游戏

import syssys.stdin = open('data.txt', 'r')'''题目意思本质就是一条边上至少要选一个节点dp(i, j) 表示在以i为根的子树上做放置士兵的选择,在根节点i选择状态是j的情况下所有可能的选择中最少的士兵数量(j 只有0, 1两种选择)'''def dp(i, j, memo): if (i, j) in memo: return memo[(i, j)] if len(link[i]) == 0: .

2020-08-03 13:48:19 109

原创 ACWing 数位DP相关问题 1086. 恨7不成妻

import syssys.stdin = open('data.txt', 'r')MOD = 1000000007# 小于等于n的所有数字的平方和def get_sum(n): if n == 0: return 0, 0, 0 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i个位置做选择,选择出的数字要求数位总和模7不等.

2020-08-02 21:23:07 145

原创 AcWing 数位DP相关问题 1085. 不要62

import syssys.stdin = open('data.txt', 'r')def get_num(n): if n <= 0: return 1 # 统一把1算进答案里面,相减就抵消掉了 arr = [] val = n while val: arr.append(val % 10) val //= 10 from functools import lru_cache @lr..

2020-08-02 21:21:25 97

原创 AcWing 数位DP相关问题 1084. 数字游戏 II

import syssys.stdin = open('data.txt', 'r')def get_num(n, N): if n == 0: return 1 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i个位置填写数值,所有数值和mod N = mod_val且前前面所有数位都取最大值的标记为all_higher_max.

2020-08-02 21:20:15 145

原创 AcWing 数位DP相关问题 1083. Windy数

import syssys.stdin = open('data.txt', 'r')# 小于等于n的合法的数值个数def get_num(n): if n == 0: return 0 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i位做选择,合法的数值个数 # 约束条件:更高的一位选择数值是higher_va...

2020-08-02 21:19:19 197

原创 AcWing 数位DP相关问题 1082. 数字游戏

import sysfrom functools import lru_cachesys.stdin = open('data.txt', 'r')# 小于等于n的符合条件的数字个数def get_num(n): if n == 0: return 1 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i位做选择,更高...

2020-08-02 21:18:20 126

原创 AcWing 数位DP相关问题 1081. 度的数量

import syssys.stdin = open('data.txt', 'r')sys.setrecursionlimit(999999)from functools import lru_cache@lru_cache(typed=False, maxsize=128000000)def conbination_num(n, m): if m == n: return 1 if m == 1: return n retu.

2020-08-02 21:16:58 153

原创 AcWing 单调队列优化DP 1091. 理想的正方形

import syssys.stdin = open('data.txt', 'r')'''先按照行求每行每一个滑动窗口中的最大值和最小值然后再纵向求每一列的滑动窗口最大最小值,然后统计每一个最大值最小值二元组的差值的最小值即可'''from collections import dequem, n, k = map(int, input().split())arr = []for i in range(m): arr.append( list(map(int, inp.

2020-08-02 21:14:59 121

原创 AcWing 单调队列优化DP问题 1090. 绿色通道

'''二分搜索可能的空题段的长度,用单调队列优化的DP验证此空题段长度下,能够找到合法的选择方案'''from collections import dequen, t = map(int, input().split())arr = list( map(int, input().split()) )# 验证空题段长度为emp_len,是否有可行方案def valid(emp_len): # dp(i)表示前i个作业中做选择, 最后一个作业做了的情况下,总开销最小值...

2020-08-02 21:13:48 146

原创 AcWing 单调队列优化DP问题 1089. 烽火传递

from collections import dequen, m = map(int, input().split())cost = list( map(int, input().split()) )# dp(i) 表示前i个烽火台进行选择,且最后一个烽火台点燃的所有合法方案中,最小开销的数值# dp(i) = cost(i) + min(dp(i-1), dp(i-2), ... dp(i-m)) 其实dp(i)就依赖于前面长度为m# 滑动窗口中的最小值dp = [0] * nque.

2020-08-02 21:12:36 132

原创 AcWing 单调队列优化DP问题 1088. 旅行问题

import syssys.stdin = open('data.txt', 'r')'''问题做一下转换,把环拆开,组成长度为原来两倍的序列,把每个车站的油量和下一步的距离的差值作为数组元素的数值,对这个长度是2n的数组求前缀和序列,其实题目要求的就是所有长度是n的滑动窗口里面前缀和的最小值和窗口开始位置前面一个前缀和的差值的最小值是不是小于0,如果小于0,说明中间n次移动至少有一次出现了没有油的情况,顺时针和逆时针都做一遍单调队列求滑动窗口最小值的流程,两次结果有一次是成功的,就可以从.

2020-08-02 21:11:11 153

原创 AcWing 单调队列优化DP相关问题 1089. 烽火传递

import syssys.stdin = open('data.txt', 'r')from collections import dequen, m = map(int, input().split())cost = list( map(int, input().split()) )# dp(i) 表示前i个烽火台进行选择,且最后一个烽火台点燃的所有合法方案中,最小开销的数值# dp(i) = cost(i) + min(dp(i-1), dp(i-2), ... dp(i-m)) ..

2020-08-01 14:17:20 139

原创 AcWing 单调队列优化DP相关问题 1088. 旅行问题

import syssys.stdin = open('data.txt', 'r')'''问题做一下转换,把环拆开,组成长度为原来两倍的序列,把每个车站的油量和下一步的距离的差值作为数组元素的数值,对这个长度是2n的数组求前缀和序列,其实题目要求的就是所有长度是n的滑动窗口里面前缀和的最小值和窗口开始位置前面一个前缀和的差值的最小值是不是小于0,如果小于0,说明中间n次移动至少有一次出现了没有油的情况,顺时针和逆时针都做一遍单调队列求滑动窗口最小值的流程,两次结果有一次是成功的,就可以从.

2020-08-01 14:16:18 154

原创 AcWing 单调队列优化DP相关问题 1087. 修剪草坪

import syssys.stdin = open('data.txt', 'r')from collections import dequen, m = map(int, input().split())arr = []for i in range(n): arr.append(int(input()))'''dp(i)表示前i头牛的合法选择中最大总价值的数值用最后一头牛的状态切分状态1. 最后一头牛不选 子集1的最大价值就是dp(i-1)2. 最后一头牛选,以结尾.

2020-08-01 14:15:10 164

原创 AcWing 单调队列优化DP相关问题 135. 最大子序和

import syssys.stdin = open('data.txt', 'r')'''首先求序列的前缀和序列s, 将问题转换一下,以arr[i]结尾的长度不超过m的和最大的连续子序列就是在s[i]前面的m个数中找最小的一个s[k],s[i]-s[k]就是以arr[i]结尾的长度不超过m的和最大的连续子序列的和,其实问题就转换成了单调队列求滑动窗口极值问题'''from collections import dequen, m = map(int, input()....

2020-08-01 14:14:16 134

原创 AcWing 区间DP相关问题 1069. 凸多边形的划分

'''区间DP'''N = int(input())arr = list(map(int, input().split()))from functools import lru_cache# 序号i到j的节点序列的所有划分方案里面权值乘积之和的最小数值@lru_cache(typed=False, maxsize=128000000)def dp(i, j): if j == i + 2: return arr[i] * arr[i + 1] * arr[.

2020-08-01 14:12:46 138

原创 AcWing 区间DP相关问题 1068. 环形石子合并

'''核心思想将原来序列拓展成2倍长度,在拓展区间上做区间DP将环问题转换为线性区间问题'''N = int(input())arr = list(map(int, input().split()))# 把原来的序列拓展成2倍,然后在拓展之后的序列上进行区间DP,把换拆成链arr = arr * 2# dp(i,j)表示从i到j的区间中的石子合并成一个石子的所有方案中最小的开销dp = [[0] * (2*N) for _ in range(2*N)]s = [val .

2020-08-01 14:11:34 123

原创 AcWing 区间DP相关问题 479. 加分二叉树

N = int(input())arr = list(map(int, input().split()))from functools import lru_cache# dp(i, j) 表示所有中序序列是arr[i:j+1]的二叉树的价值的最大值以及最大值对应的树的根节点# 为了让前序序列的字典序最小,价值一样大情况下,根节点选更靠前的@lru_cache(typed=False, maxsize=128000000)def dp(i, j): if j == i: .

2020-08-01 14:10:36 125

原创 ACWing 区间DP相关问题 321. 棋盘分割

'''二维区间DP'''import mathfrom functools import lru_cacheN = int(input())grid = []for _ in range(8): l = list(map(int, input().split())) grid.append(l)pre_sum = [[val for val in grid[i]] for i in range(8)]for i in range(8): for j in .

2020-08-01 14:08:53 139

原创 AcWing 区间DP相关问题 320. 能量项链

'''区间DP问题'''N = int(input())arr = list(map(int, input().split()))# 把圈拆成链条arr = arr * 2from functools import lru_cache# dp(i, j)表示区间i, j中所有计算顺序的选择中,最佳选择对应的最大收益@lru_cache(typed=False, maxsize=128000000)def dp(i, j): if j - i < 2: .

2020-08-01 14:07:27 118

原创 AcWing 区间DP相关问题 282. 石子合并

'''区间DP模板题'''N = int(input())arr = list(map(int, input().split()))# dp(i,j)表示从i到j的区间中的石子合并成一个石子的所有方案中最小的开销dp = [[0] * N for _ in range(N)]s = [val for val in arr]for i in range(1, len(s)): s[i] += s[i - 1]for i in range(N - 1, -1, -1): .

2020-08-01 14:04:50 95

计算机图形学实验七(交互式图形程序设计)

本人自己亲自完成的七个计算机图形学实验之七,需要参考的就下吧,我只为赚取积分。

2011-08-08

计算机图形学实验六(真实感图形程序设计)

本人自己亲自完成的七个计算机图形学实验之六,需要参考的就下吧,我只为赚取积分。

2011-08-08

计算机图形学实验五(三维图形变换程序设计)

本人自己亲自完成的七个计算机图形学实验之五,需要参考的就下吧,我只为赚取积分。

2011-08-08

计算机图形学实验四(二维图形变换程序设计)

本人自己亲自完成的七个计算机图形学实验之四,需要参考的就下吧,我只为赚取积分。

2011-08-08

计算机图形学实验三(OpenGL图形程序设计)

本人自己亲自完成的七个计算机图形学实验之三,需要参考的就下吧,我只为赚取积分。

2011-08-08

计算机图形学实验二(基本图形生成算法)

本人自己亲自完成的七个计算机图形学实验之二,需要参考的就下吧,我只为赚取积分。

2011-08-08

西南交大计算机图形学实验1源码

本人自己亲自完成的七个计算机图形学实验之一,需要参考的就下吧,我只为赚取积分。

2011-08-08

轻松汇编2.7最新版以及修改字体办法

轻松汇编是一个适合汇编初学者使用的编程环境,有拥有友好界面和单步调试的强大功能,并且可以通过视窗直观看到各个寄存器的数值变化,非常适合初学汇编编程的人使用,很容易上手,原版不能更换字体,压缩包中特附上字体修改办法的文档。赶快下载,开始轻松的汇编之旅吧!

2010-09-13

VisualAssist1827以及破解补丁

Visual Assist 插件,可用于vc6.0,vs2005,vs2008,vs2010,可以智能分析代码,高亮标注,智能提示,行家一定知道有多爽,不用多说了,要下的赶快吧!!!

2010-09-03

大学英语4综合教程课文翻译

大学英语4综合教程的翻译,有英文原文和中文翻译

2010-06-29

大学电路分析习题完整答案

我从师兄那里搞到的电分答案,做作业和分析的时候可以参考一下,绝对是难得的好东东。

2010-04-30

ACM培训专用电子书

经典的ACM培训电子教案,pdf格式,要下的赶快,适合初学者用,绝对好东西,不下后悔。

2010-04-30

绝好的J2EE入门级教案,公司培训资源放血奉送

本人在公司中接受培训时保留下来的J2EE培训教程,十分难得,好不容易从讲课的牛人那搞到的,要下就赶快吧!

2010-04-02

西南交大ACM离线题库

兄弟我向ACM协会的高手们求了好久才弄到手的,挥泪共享啊,大家要下的赶快啊,共有两千多道题,绝对可用,想参加ACM的赶快下吧!

2010-03-28

模电康华光主编第五版完整答案pdf

完整的模电五版答案,康华光主编版的,我找了好久才找到的,要下的赶快啊,不下要后悔的哦!

2010-03-28

Tomcat5.5.20

Java编程用的数据库软件,绝对能按能用,童叟无欺,要用的赶快下啊!

2010-03-05

mssql2000精品教程

数据库的基础教程,讲解SQL语言的基本用法,要学数据库最好先看看,适合入门的同学使用。

2010-01-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除