自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2024.3 上海计算机协会竞赛 丙组题目 打工旅行

/ 思路:先计算 累计的花费,对ci求和,可以用前缀之和,然后看 i之前的 那天 收益最大 ,就在那天赚钱打工,主要整除问题。小爱在 11 点位置,目的是通过 �n 个位置,通过第 �i 点位置时,需要花费 ��ci​ 元。她可以打工,若她在第 �j 个点,她每打工一天,就可以赚 ��aj​ 元。// a是赚钱,c是花费。// 挣钱最多的天,多干。

2024-03-29 10:11:20 212 1

原创 区间dp 合并 2023 上海 计算机学会 2023 .7 乙组 积木染色(三)

/ 枚举长度len,枚举起始位置i(终止位置j=i+len-1),枚举分割点k(包头不包尾) ,计算dpij 的最小花费,ai==aj dpij=min dpi+1j ,dpij-1。// 思路 寻找 区间ij 合并的最小花费,默认自己根自己为1次,2个相邻元素不等的次数为2次(1+1),相等的话,还剩1次,最后在整体剪掉1。//不等的话,dpij ,就需要枚举分割点k了,看哪个分割点的效果最好 dpij=min(dpij,dpik+dpk+1j)内存限制: 256 Mb时间限制: 1000 ms。

2024-03-21 16:30:56 155 1

原创 信奥 一点通1313 位数问题 递推 dp

/ 思路: dp[n][0] n位中有偶数个3的方案(个数),dp[n][1] n 位中有奇数个3的方案数, 加的位都在末尾,可以为0-9。在所有的N�位数中,有多少个数中有偶数个数字33?//dp[n][0]=dp[n-1][0]*9(0-9非3)+dp[n-1][1]*1( 只有+3)// dp[n][1]=dp[n-1][0]*1+dp[n-1][1]*9(0-9非3);//第1位不能够位0,dp[1][0]=8,dp[1][1]=1;输出有多少个数中有偶数个数字33。

2024-03-16 12:04:17 395 1

原创 信奥 一本通:拓扑排序:1395 计算每个结点能够在哪几张幻灯片出现

第一行只有一个整数n,表示有n张幻灯片,接下来的n行每行包括4个整数xmin,xmax,ymin,ymax(整数之间用空格分开)为幻灯片的坐标,这n张幻灯片按其在文件中出现的顺序从前到后依次编号为A,B,C……第i张 幻灯片 选择的点 的情况(不是 第i点选择幻灯片的情况),可以选择dfs 或者bfs 都可以;记录选择的幻灯片 i,然后 删掉i,更新其它点 到i点的 情况,度减少1,如果度为1的话,其它点,又可以搜索选择幻灯片了。// 第i张 幻灯片 选择的点 的情况(不是 第i点选择幻灯片的情况);

2024-03-15 15:04:05 1478 1

原创 洛谷:3372 线段树 结构体版本+数组版本

void update(ll l,ll r,ll rt,ll left,ll right ,ll d) //l-r 的值区间增加d。void update(ll l,ll r,ll rt,ll left,ll right ,ll d) //l-r 的值区间增加d。void update(ll l,ll r,ll rt,ll left,ll right ,ll d) //l-r 的值区间增加d。//树根的值 增加 数倍的d。

2024-03-15 15:00:33 1291 1

原创 信奥一本通:1382 :链式前向星创建图+优先队列+djk算法

接下来M�行33个正整数:ai,bi,ci表示ai,bi之间有一条长度为ci的路,ci<=1000��,��,��表示��,��之间有一条长度为��的路,��<=1000。链式前向星 创建图,优先队列找最小的dis结点u,通过u更新u的邻边v结点到起始结点的距离dis【v】,注意:e的规模边的2倍空间。第一行:N,M(N<=100000,M<=500000)�,�(�<=100000,�<=500000);通过u (起始u点,可能更新到u的邻边结点v的距离)找到了没有访问的,最小的dis的序号。

2024-03-15 12:23:01 845 1

原创 信奥一本通:1393:联络员(liaison) /* 并查集+克鲁斯卡尔

Tyvj已经一岁了,网站也由最初的几个用户增加到了上万个用户,随着Tyvj网站的逐步壮大,管理员的数目也越来越多,现在你身为Tyvj管理层的联络员,希望你找到一些通信渠道,使得管理员两两都可以联络(直接或者是间接都可以)。u,v,w表示本条信息描述的是u,v管理员之间的通信渠道,u可以收到v的信息,v也可以收到u的信息,w表示费用。目前你已经知道,Tyvj的通信渠道分为两大类,一类是必选通信渠道,无论价格多少,你都需要把所有的都选择上;第一行n,m表示Tyvj一共有n个管理员,有m个通信渠道;

2024-03-15 12:21:30 780 1

原创 信奥一本通:栈的应用 双栈(数据栈,符号栈,中缀表达式)

思路:定义2个栈,数据栈 与符号栈,定义一个符号优先级函数,判断每个字符的情况,要么是数字或者其它,其它(先把数字进栈),然后判断 是左括号(直接进栈),如果是右括号 退到最近的一个左括号,如果是其它符号,比较当前符号与优先级与栈顶的优先级。小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“*”,“/”,“^”,求出的值就是密码。// st2 退一个符号,,根据符号计算结果,讲结果干到st1。

2024-03-15 12:15:15 877 1

原创 1975:【16NOIP 普及组】海港 队列+结构体+桶排序计数

船,共有 4+2=64+2=6 个乘客,分别是来自国家 4,1,2,2,2,34,1,2,2,2,3,共来。船,共有 4+2=64+2=6 个乘客,分别是来自国家 1,2,2,3,2,31,2,2,3,2,3,共来。和第三艘船,共有 2+2=42+2=4 个乘客,分别是来自国家 2,3,3,42,3,3,4,共来。4,1,2,2,2,3,34,1,2,2,2,3,3,共来自 44 个不同的国家。个乘客,分别是来自国家 1,2,2,31,2,2,3,共来自 33 个不同的国家;

2024-03-15 11:01:24 346 1

原创 c++ set 容器的经典应用 :例子1:set进行添删改查,例子2:求解不同质因子的个数 ,

i++) // x 在动态调整,x 不是原来的 x,自己除以自己等 1。每次输入 10 个整数后,输出容器中优先级最高与最低的元素,两者用空格间隔。现在给定一个容器,初始元素数目为 0,之后每次往里面添加 10 个元素,每次。下面 10*num 行,每行一个正整数 n(n < 10000000).添加之后,要求输出优先级最高与最低的元素,并把该两元素从容器中删除。if(x%i==0&&f(i)==1) // 质因子。

2024-03-15 10:59:24 304 1

原创 栈的经典应用:括号匹配 信奥一本通1353

假设一个表达式有英文字母(小写)、运算符(+,—,/+,—,?的左右圆括号是否匹配,若匹配,则返回“YES”;总结:不匹配右 3 种情况:括号类型不匹配、先右括号,栈里面没有元素、左。遇到左括号进栈,遇到右括号,先判断栈是否为空 或者栈顶括号不匹配,则直。结束后,如果栈里面还有元素,则表明左括号多,不匹配,反之,匹配。接输出不匹配,否则,匹配一个左括号,进行退栈处理。else // 暂时匹配,退一个做括号。else // 暂时匹配,退一个做括号。else // 暂时匹配,退一个做括号。一行数据,即表达式。

2024-03-15 10:55:41 335 1

原创 队列经典应用:数组模拟:1333:【例 2-2】Blah 数集

分别利用 2 个队首指针产生元素 x1 x2,如果 x1<x2 则 x1 放队列尾部,rear++,while(1) // 起始位置 1,rear 能够达到 n+1,q[rear-1] 就是最后一个元素。队列最后的一个元素 下标 rear-1,如果 rear-1==n 的话,说明产生了 n 个元素,2 个队首指针 f1,f2 分别指向 2x+1 或者 3x+1,1 个队尾指针 rear。(2)如果 x 在集合 Ba 中,则 2x+1 和 3x+1 也都在集合 Ba 中;

2024-03-15 10:54:36 355

原创 约瑟夫问题 信奥一本通2037

然后输出此元素,然后利用 erase 删掉元素。N 个人围成一圈,从第一个人开始报数,数到 M 的人出圈;思路:不停出队首元素并计数,若数到 k 的话,输出元素,重新计数,若不数到。思路:计算删掉元素的位置 pos=(pos+k-1)%v.size();k 的话,则队首元素放队尾,重复此操作,直到元素为 0 个。数,数到 M 的人出圈;输出依次出圈的人的编号。掉此元素,后面的元素自动往前面移动一个位置。2037:【例 5.4】约瑟夫问题。对于所有数据,2≤N,M≤1000。输出一行,依次出圈的人的编号。

2024-03-15 10:53:11 379

原创 c++ 容器使用总结

例如:v.erase(v.begin()+1,v.begin()+3),删掉下标1到下标3之前的元素,具体删掉下标1,2,不包括下标3.将优先队列中的元素个数赋值给x,如果大于0,表示优先队列中有元素,如果等于0的话,表示优先队列空,默认初始情况,优先队列为空。将队列中的元素个数赋值给x,如果大于0,表示队列中有元素,如果等于0的话,表示队列空,默认初始情况,队列为空。将栈中的元素个数赋值给x,如果大于0,表示栈中有元素,如果等于0的话,表示栈空,默认初始情况,栈为空。键与值的数据类型,可以为任意类型。

2024-03-15 10:49:59 347

原创 上海市计算机学会竞赛平台 2023.8 乙组:最长回文 解析

/思路:先存一下s的备份t,将s倒转,然后 计算 s 与t 的最长公共子序列长度 (动态规划)//判断t 与s的公共的子序列的最大长度。// 上海2023.8 动态规划:最长回文。// 然后 len-dp【len][len];

2024-03-14 17:14:26 357

road(1).cpp

road(1).cpp

2023-10-30

空空如也

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

TA关注的人

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