小编use*_*837的帖子

叶子到有向树的根的最短距离

这是我遇到的一个非常有趣的问题:有一个有向树,每个节点的权重随时间变化,我必须找到从根到某个节点的距离.

问题陈述:

  • 售票柜台前排起了很长的队列.以下是队列注意事项.
  • 在连接点处最多可以合并2个传入队列
  • 任何联结点都只能有一个传出队列
  • 可以有多个交接点,队列可以单向移动
  • 所有队列都只有一个最终的票务柜台点
  • 粉丝有多个入口点可以到达柜台
  • 我需要设计一个系统,可以向粉丝建议"最佳路径"及其"预期时间"到达柜台

从队列到达计数器的预期时间取决于该队列中的人数加上其他队列中的人数.

  • 穿过售票柜台并获得机票所需的时间是1个单位
  • 假设有一名警察站在每个交叉点,其工作是打开交叉口门,将人员从队列中发送到队列.如果一个交叉点有多个队列,警察将逐个向每个队列发送粉丝

例如,如果有2个队列中每个包含3个粉丝,则队列1中的前导人员将首先发送,然后是队列2中的前导人员,接着是队列1中的下一个人员,依此类推.它是传入队列之间的备用选择.

完整的问题陈述

对于给定的输入

  • 第一行包含结点数
  • 第二行包含队列数
  • 下一个"e"行包含三个值:起始结点,结束结点和此队列中的人数.(这也是可以站在此队列中的最大人数.)

计算一个人到达即将进入任何队列的票务柜台的最短时间.此外,在最坏的情况下输出他应该在最短时间内到达计数器的路径(在每个交叉点,警察开始从队列中选择人,而不是我们计算最小时间的人).

如何解决这种时变问题呢?

例如:

7
6
1 5 9
2 5 5 
3 6 1
4 6 3 
5 7 7 
6 7 4
Run Code Online (Sandbox Code Playgroud)

图表看起来像这样: 在此输入图像描述

售票点:7

切入点:1,2,3,4

  • 刚从入口点3进入队列的人所需的时间:队列中的1人(3,6)+队列中的4人(4,6)+队列中的4人(6,7)+队列中的7人(5,7)队列中的1个人(1,5)将在此人之前.

最佳时间= 15

路径是3 - > 6 - > 7

algorithm tree graph shortest-path

18
推荐指数
1
解决办法
931
查看次数

需要删除的最小字符数

原始问题:

如果单词中的每两个字母,如果第一个出现x次数而第二个出现y次数,则单词为K-good ,则|x - y| ? K.

给出一些单词w,他需要移除多少个字母才能使它成为K-good?
问题链接.

我已经解决了上述问题,我没有要求解决上述问题

我只是第一次误读了这个陈述,只是想到我们怎么能在线性时间线上解决这个问题,这只会引起一个新的问题



修改问题

如果单词中的每两个连续字母,如果第一个出现x次数而第二个出现y次数,则单词为K-good|x - y| ? K.

给出一些单词w,他需要移除多少个字母才能使它成为K-good?

这个问题是否可以在线性时间内解决,我考虑过但却找不到任何有效的解决方案.

解决方案

我的方法:我不能接近我的迷恋,但她是我解决这个问题的方法,尝试一切(来自电影Zooptopia)


for i range(0,1<<n):   // n length of string
    for j in range(0,n):
          if(i&(1<<j) is not zero): delete the character
   Now check if String is K good 
Run Code Online (Sandbox Code Playgroud)

适用N于范围 10^5.时间复杂性:该维度中不存在时间.

有没有任何线性解决方案,像stackoverflow的人一样简单和甜蜜.

For Ex:
String S = AABCBBCB and K=1


   If we delete …
Run Code Online (Sandbox Code Playgroud)

string algorithm

15
推荐指数
1
解决办法
657
查看次数

找到偶数位数的第N个数字

考虑一下我们{0,2,4,6,8}只有数字.现在我们必须找到一系列的N个数字.

Series : 0,2,4,6,8,20,22,24,26,28,40.....

int start=0;
while(found!=n){

      if(start is not odd)found++;
      start+=2;
}
Run Code Online (Sandbox Code Playgroud)

我们怎么能有效地做到这一点?

For Ex N=6  Ans=20
Run Code Online (Sandbox Code Playgroud)

algorithm

-4
推荐指数
1
解决办法
1448
查看次数

标签 统计

algorithm ×3

graph ×1

shortest-path ×1

string ×1

tree ×1