- 博客(26)
- 收藏
- 关注
原创 数学建模专题1.1线性规划模型(LP问题)
数学规划是运筹学的一个重要分支,而线性规划又是数学规划中的一部分主要内容,很多实际问题都可以归结为""问题。
2023-07-19 01:46:21 2059 1
原创 可达性统计
给定一张 N个点 M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。采用邻接表存图的方式,然后对这张图中节点进行拓扑排序,排序完成后能够得到一个拓扑序列,对于拓扑序列中任意一条边(x,y),x都在y之前出现。倒序遍历拓扑序列中的点,设集合f[i]为第i个点能到达的点的状态(压缩成二进制最大就是30000位二进制)f[i]=集合{f[a],f[b],f[c],...f[z]}(a,b....z为i拓扑序列后面的节点)的并集就相当于f[i]分别或(|)上f[a],f[b]....f[z]这个操作可以利
2023-05-26 22:46:46 166
原创 代码源week5
这样就可以对这个结构体按x为第一关键字排序,vis【i】标记对应行是否出现了x小的向右走,当这一行出现x大的向左走,且vis[i]==1,就会碰到。显然是一个等差数列求和的例子,要找好首项和尾项,以及项数,然后注意数据范围,先对首项与尾项之和取模,以及项数取模,然后再利用等差数列前n项和计算。由于答案是单调的,采用二分答案,二分能量值,然后判断一下边界:当前的能量大于10e5,直接可以通过所有的。显然对于这个碰撞只有唯一一种可能:就是同一行的情况下(y一样),然后x小的向右走,x大的向左走,就会碰到。
2023-04-19 23:03:10 88
原创 蓝桥杯(准备)
用并查集历遍也不行(需要对各个点之间建边,而且这个图中的边是有向的,(在有包含情况下)总是从半径大的雷指向半径小的雷)对于出现在同一个点的地雷可以用一个cnt[]数组记录下该点的总雷数,然后爆炸半径取这个点地雷中最大的。最后,由于r
2023-04-04 00:01:47 65
原创 daimayuan week3
要查找每一个子串中出现的字母是很难的(时间复杂度很高),反向思维查找子串中某一个字母没有出现的子串数,然后用总的子串数减去该字母没有出现的子串数,就等于这个字母在子串中出现的数量。题目意思翻译:在递增的序列中找一段最大(子序列最小元素要比原序列中前一个大K+1以上)子序列满足(a[i]-a[i-1]<=k),求这个子序列的最大长度。一个集合为{1,2,3},自己是{1,2,3,4},显然自己不能获胜,自己能不能获胜主要看别人是否为自己的子集问题,只有其他人全部都不是自己的子集,才能获胜。
2023-04-02 20:36:07 70
原创 daimayuan week2
显然对于A的值就是Δx1,Δx2,Δx3的最大公约数,但是这样就很难判断我们是否需要另外一个魔法,不妨将k1先算出来,求出每一组的A,B值去重,这时候伟大的set+pair出现了,set伟大的去重能力,set的大小就是我们需要的魔法数。由上面可以知道1对于这个序列的变化是很重要的,只要这个序列有1就可以产生0,生成任意序列,但是全是0就没办法变化。经过预处理后,对应查询,依次输出就行了,由于本题数据很大,居然卡输入输出,只能用printf和scanf。
2023-03-27 21:30:41 53
原创 代码源week1
情况2:当查找到区间的最小值L大于x时候,说明这个订单编号已经被使用过了,只能使用区间中第一个大于x的订单编号L,然后将区间(L,R)变化为(L+1,R);用一个f[i][j]记录走到i级阶梯连续j次走两步的路径数,显然:到达第n级台阶的总路径数是f[n][0]+f[n][1]+f[n][2]若f[i][j]==1且j+a[i]或者j+b[i]小于坐标最大值m则f[i+1][j+a[i]]或f[i+1][j+b[i]]就能到达。用一个cnt记录打印的圈数,当cnt为奇数时候打印“+”,偶数时候打印“.”
2023-03-20 22:04:52 54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人