自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 IDEA 新版本 Jakarta EE WebApplication 无法找到Servlet 解决方法

Jakarta EE 平台是 Java EE 平台的演进。Tomcat 10 及更高版本执行作为 Jakarta EE 一部分开发的规范。Tomcat 9 及更早版本执行的是作为 Java EE 一部分开发的规范。但回退版本会导致还要修改依赖包,况且总不能放弃新版本的使用嘛。此时我才想起来,tomcat 是9.0版本,会不会是因为不支持新版本 jakarta 呢?

2023-11-02 21:31:25 660 1

原创 Cows 树状数组

给定两个母牛母牛i和母牛j,它们最喜欢的三叶草范围是[Si,Ei]和[Sj,Ej]。如果Si

2022-07-31 23:16:18 280

原创 Ultra-QuickSort

因为插入位置是排序后的位置,故插入到右子树的原值肯定比插入到左子树的原值大(或者等于),所以如果插入到左子树时,右子树有值,res就去加上右子树的值。即第一个插入9(排序后位置pos=5),就插入到[5,5],值为该位置被插入的次数。当前数x,后面任何一个大于x的都是逆序对,即找在x后面>=x的数的数量。对于每个输入序列,程序打印一个数op,即对给定输入序列进行排序所需的最小交换操作数。冒泡的最小交换数就是它交换的总次数,也就说出现后面的数大于前面的数就算一次交换。...

2022-07-31 23:14:26 584

原创 HDU1580 输出先手能取的方案数

每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;设取之前res=x,一定存在a[i]的二进制中,x的最高位为1,令a[i]=x^a[i],那么这个数会比原来更小,少的这一部分便是拿走的数量。显然还是需要用那一题的方法来判断是否能胜,如果为必胜局面再去找方案数。之后带入到原来的式子中会得到x^x=0,故到达必败态。――“先手的人如果想赢,第一步有几种选择呢?这里a[i]并不是递增顺序,故有可能。,拿的过多,不成立。...

2022-07-31 16:47:34 148

原创 Billboard

在学校的入口处有一个巨大的矩形广告牌,高为h,宽为w。所有种类的广告都可以贴,比如ACM的广告啊,还有餐厅新出了哪些好吃的,等等。。在9月1号这天,广告牌是空的,之后广告会被一条一条的依次贴上去。每张广告都是高度为1宽度为wi的细长的矩形纸条。贴广告的人总是会优先选择最上面的位置来帖,而且在所有最上面的可能位置中,他会选择最左面的位置,而且不能把已经贴好的广告盖住。如果没有合适的位置了,那么这张广告就不会被贴了。现在已知广告牌的尺寸和每张广告的尺寸,求每张广告被贴在的行编号。output1。...

2022-07-31 16:45:48 120

原创 Just a Hook

Just a Hook給定 N, Q,代表序列有 N 個元素,他們的初始值皆是 1。 接下來 Q 行,每行有三個數字 X, Y, Z,代表將序列中 X 到 Y 的元素值改成 Z。 最後輸出序列元素的和。多組測資,第一個數字 T 代表有幾組測資。 對於每一組測資,第一行會輸入一個數字 N (1...

2022-07-31 16:43:59 84

原创 石子 无限拿

给定n堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。...

2022-07-31 16:39:50 353

原创 Advanced Fruits(公共子序列)

若有多个结果输出任意一个,如cranberry和boysenberry可以输出boysecranberry或者craboysenberry。很显然的思路是找到两个单词最长公共子序列,删去其在另一个单词的位置,然后拼接。合并apple和peach的最短长度,结果为appleach。找到并保存最长公共子序列的内容参考[[#输出最长的序列|这个]],这里可以把向左,向上转移的字符也存下。单词长度不超过100,请使用优化做法。输入包含多组数据,以EOF为结尾。............

2022-07-17 23:31:24 275

原创 一次函数 T1744 963字符写法

首先判断k, 当`k==0`时, 应输出 `y=0`k不为0时: - 判断是否应该在k之前加`-` - 判断k是否为1, 若为1则需省略1, 只输出 `y=x` - 判断k是否为分数, 若不为分数, 则输出 `y=kx`, 否则输出 `y=k*x`(多个*) - 若是分数则判断分母是否为1, 若为1则只输出分子(接下来处理m) - 判断m之前应加什么符号 - 判断m的分母是否为1, 若为1则只输出分子判断符号可以直接根据之前算出的小数结果来判断......

2022-07-16 13:40:06 167

原创 X问题 中国剩余定理

求在小于等于N的正整数中有多少个X满足:思路跟[[中国剩余定理#模板 | 中国剩余定理]]一样的结构, 那么就转化一下:先看前两个式子如何合并:移项得:因为正负无所谓, 所以这里直接把 变成负数通过扩展欧几里得定理得出 k1, k2 的值, 然后化为通解带入x中得:故合并后x的式子中:a 为 b 为 则更新时这样更新:最后的答案 其中 b1 就是最小的x, 求在N之下有多少个x成立, 则将 k 变成1, 2, 3 … 直到 x 超出n即可。根据扩展欧几里得定理可

2022-07-13 16:17:13 168

原创 Prime Path

这题是枚举数字且要求是求出最短路径, 搜索算法中能求出最短路径的当然是我BFS广度优先搜索。建议还是看英文题面, 字多显得更详细。大意就是从质数a每次只变一位变成质数b, 求最短变化次数, 且每次变化后的数必须也是质数。理解好题意之后马上就能发现, 该题需要很多次判断质数的操作, 不能沿用上一题的简单判断。这里我使用欧拉筛来实现素数判断:对这方面不太熟悉的去做下[素数专题]...

2022-07-07 12:52:03 333

原创 最少拦截系统

每一个导弹系统能拦截的导弹序列, 都是一个严格下降子序列。从头遍历, 刚开始 389 自己算一套导弹系统对于 207, 有两个选择:1. 选择加入到之前结尾大于等于207的最小的序列中2. 如果现有序列结尾数都小于207, 则创建新序列**为什么是最小的大于等于207的序列, 而不是任意一个都行呢?** 假设存在两个序列结尾为 a和b 且 a > b >= 207 207既可以接在 a 后面, 也可以接在 b 后面 若207接在a后面, 那么b序列只能再占一个系统...

2022-07-07 12:48:20 91

原创 Corn Fields

蒙德里安那道题的一种应用, 依然是用二进制来表示该列上哪个位置种草。总思路就是枚举所有可行状态, 然后计算转移, 最后得出结果方案数。

2022-07-07 12:41:25 105

原创 单词接龙 DP解法 状态压缩

说着 n

2022-07-07 12:38:54 151

原创 饭卡 HDU2546

饭卡 - HDU 2546 - Virtual Judge (csgrandeur.cn)电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Input多组数据。对于每组数据:第一行为正整数n,表示菜的数量。n......

2022-06-28 17:19:22 193

原创 开餐馆

解题策略为什么能用DP解题?其子问题是第 i 个餐馆是否开, 当前餐馆开了之后的利润加上 0-i 之间餐馆开的利润就是总利润状态表示: 第i个

2022-06-21 14:45:09 186

原创 知山知水,树木树人

k叉树问题题目:知山知水,树木树人 - 计蒜客 A1211 - Virtual Judge (vjudge.net)有一个完全k叉树,每个节点有 k 条边,权值一次为1~k。求从起点1号开始,走到过的边权值总和为n,且有一边权 >= d的路线数。对于线性DP问题,我们需要得到最终符合要求的结果,即 满足权值为 n,至少经过一边权值 >= d 的路线数。类似于背包,公共子序列等等,状态的设置可以根据 最终结果所需要满足的条件来设置。例如:对比可发现,k叉树问题不需要找到状态的属性,

2022-05-04 23:49:16 238

原创 Channel Allocation 别用四色定理

题目Channel Allocation - POJ 1129 - Virtual Judge (vjudge.net)分析这道题很多博客说用四色定理但如果所有区域都重叠在一起,即各个基站之间都连一条边时其需要的频段数便是基站数(下图为AC代码测试的结果)至于为啥他们四色也能过…本题思路首先建一个图记录关系,接着从第一个点开始dfs搜索到最后一个点。因为本身就是无向图,所以我们也没必要管是否跟之前的父节点颜色重合。直接遍历子节点,若有重合颜色则再将当前要染的颜色加一,最后的颜色便是应该染

2022-04-19 22:01:52 232

原创 符号类型跟无符号类型混合运算的问题 c++

0 前言在看 C++ primer 复习基础知识时发现,有符号类型跟无符号类型一起运算时会转换类型为无符号类,这就会出现一些意想不到的问题。1 unsigned charunsigned char c = 'a';int a = -1;cout << c * a << endl;// 猜猜结果是多少?结果会是 -97 吗?(‘a’ 的字面值为 97)。令人惊奇的是居然真的正常(?)2 unsigned intunsigned int c = 1;int a

2022-04-15 19:59:37 513

原创 It‘s not a Bug, it‘s a Feature

所以,目标就是把起始 111(全bug) 的串应用一些补丁使其变为 000。要求求出最短的耗时(路径),因为每个补丁耗时不同,可以看做 正权最短路问题,这里我用 dijkstra 来写。正常来说 dijkstra 是从起始节点经过一条条边到达最终节点,那么对于这个问题,当前串的状态便是一个个的节点,每个补丁看作一条条边。具体怎么写呢?得解决以下几个问题:当前节点的状态如何存储?使用字符串嘛?

2022-04-04 12:03:45 1381

原创 小 B 的魔法 并查集

链接:小 B 的魔法 - 计蒜客 T3106 - Virtual Judge (csgrandeur.cn)小 B 的魔法 - 题库 - 计蒜客 (jisuanke.com)题面:分析:定义26个字母的并查集,起始集合中只有自己。碰见不同的一位a z,假设把所有的 z 都换为 a,便是将两个字母 a z 合并为一个集合。当再碰见 z -> ? 时,若还是 a 则步数不把++,若为 z -> b,则再去将 z b 合并,同时加一步。代码:#inc...

2022-04-03 23:15:39 408

原创 商汤科技的行人检测(简单) 求众数

边输入边处理用 cnt 来统计一个数的出现次数,当下一个数跟自己相同是 cnt++, 当不相同时 cnt-- 抵消当 cnt 为 0 时更新当前的众数最后的众数一定会让 cnt 为正数

2022-03-27 17:03:27 1127

原创 数制转换

秦九韶算法求出十进制再从十进制转到其他进制十转其他我根据栈的思想用递归来写,简洁舒服

2022-03-03 20:01:10 93

原创 鸣人和佐助 非三维数组解法

很多博客都用的三维数组,感觉那实在过于繁琐,参考了别人的思路才整了个check数组用结构体来保存坐标比用pair保存坐标更加简洁些,能把附加信息直接绑定上check数组的话没法绑定,需要提前获取下一步的信息

2022-02-08 20:50:24 530

原创 最短前缀 简单暴力循环

弄清两个概念前缀:子串能完美的从父串的起始位置匹配到子串最后最短前缀:子串不能成为除此之外其他字符串的前缀所以,我们需要两个操作- 求出一个字符串的所有前缀- 判断一个子串是否为该字符串的前缀当字符串的一个前缀不是其他字符串的前缀时,便为最短前缀如何求前缀呢?从前往后遍历字符串,每经过一个元素就加进子串数组即可为了方便可以用 string,能直接用 + 链接如何判断是否为前缀呢?遍历字符串和子串,看每一位上是否相等即可

2022-02-02 10:59:37 1086 4

原创 选数 计蒜客 T2116 解释如何取得唯一解

这题素数判断之类的其他博客都写过了我主要尝试解释如何保证数据不出现重复解如题目所说,每个数据不能重复选择这样的话,我们定义一个布尔数组来标记是否被选择过3+7+19=29,它交换一下位置相加也是29而样例的答案为1,所以不能出现重复解那么可以再加个数组,表示结果是否出现过行吗?

2022-01-30 18:27:23 919

原创 八皇后问题 计蒜客 - 381

​八皇后问题的小变形在8x8的矩阵中找到数字之和最大的八个位置,同时每个位置上两个对角线和一列中只有一个旗子依然是全部深搜遍历所有可能性,找到最大的那一种如何判断当前位置能不能放呢?一列很好判断,定义一个列 数组 保存那一列中有棋子就行至于对角线,我们需要找到用于标识每个点对角线之间区别的特点先以由左下往右上的对角线为例,画画可以很明显发现,每个对角线之间都是平行的也就是说,他们的斜率不需要考虑,只需要考虑偏移量

2022-01-30 17:18:55 567

原创 Cabric Number Problem 堆(优先队列)版本

模拟一下就行,主要题目范围要求,不能小于四位也不能多于四位

2022-01-27 14:42:33 6309

原创 实数加法 小数高精度加法 c++ vector实现

之前学过整数的高精度加法,小数的话只需要一些变通即可实际相加时,小数部分跟整数部分是各加各的,如果小数部分加满了再向整数部分+1那么就把小数部分也看做整数来加,最后将进位加到整数部分问题就又化为了整数的高精度

2022-01-19 20:28:05 2094 3

原创 马走日 dfs回溯搜索 清晰简单

棋盘最大就10*10大小,很明显可以走dfs当我们到达一个点之后,下一个点可以走8个方向分别是左上2,左下2,右上2....这里的2指的是向上或者向下的高度,用于区分横着的日跟竖着的日再写个check函数在每次新一层dfs开始时判断是否满足,满足则把结果+1

2022-01-13 17:00:52 229

原创 HDU 考试排名 题解 by Aze

G - 考试排名 题解 by Aze1. 要点 结构体 struct 数组的应用 排序 的应用 多重条件排序 %-10s 格式化输出 比较复杂的输入处理 2. 前置知识 结构体数组 struct的声明,使用 跟数组的区别 冒泡排序(sort也行,我用的快排但思路不太好讲) 3.题目C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点。它的功能是怎么实现的呢?我们做好了题目的解答,提交..

2021-11-23 22:51:58 381

空空如也

空空如也

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

TA关注的人

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