zoukankan      html  css  js  c++  java
  • 笔试助攻题(思路)

    题意:

    给你一个长度为1e5的串,包含数字0-9和?

    ?可以替换成任意数字

    要求保证任意相邻的10个数均不相同

    问有多少种方案?

    思路:

    乍一看还像个dp什么的,每个位置跟前后9个都有关系,越想越复杂

    然而仔细一想发现,每隔10个数的数字是相同的

    也就是说串中的1,11,21,,,这些位置的数字都是相同的

    就是这个突破口,这题就变成了大水题

    只需要开一个10的f数组,赋初值-1,然后对着串扫一遍

    如果当前位置p是数字,就看f[p%10]是否为-1,如果是-1,则改为当前值

    如果不为-1,则必须与当前值相等,否则输出0

    然后再判断f数组中不为-1的位置的所有的数字必须不同,否则输出0

    然后还要特判一下小于10的串,如果有解则为A(10-数字个数,问号个数)

    大于等于10的串的解就是f数组里-1个数的阶乘

    代码就不写了~

  • 相关阅读:
    文件操作
    数据补充
    小数据池
    列表
    基础知识1
    我的Python之旅开始
    正则
    模块
    迭代器与生成器
    文件操作
  • 原文地址:https://www.cnblogs.com/d-e-v-i-l/p/5988286.html
Copyright © 2011-2022 走看看