1.30
易得要不存在回文的情况只有abc,acb,bac,bca,cab,cba这六种的循环
故可以先预处理出各种情况的前缀和 最后根据问题查询即可
2.1
从1到n枚举位置i 当一个比例c第一次出现时其必然只能分为一段 设位置为j
第二次出现时 因为1~j的比例也为c 则j+1~i的比例也为c 所以可划分为两段
以此类推 当比例c第k次出现时可划分的段数为k
因此可以对于每个i 存下d和k的个数的前缀和 按着比值排序(除法可能会出现精度误差 可使用乘法来作为排序的判断 即di*kj<ki*dj) 比值相同时编号小的排前面
此时对于排序后的每个元素 若比值和前一个相同 则答案比前者+1 否则为1
待补
2.2
根据题目所给图我们可以发现其实是一棵树 我们将树重新编号
对于第i个节点的值可以从2i以及2i+1来推
若第i个节点在字符串中的值是0 则f[i]=f[2i] 是1的话则f[i]=f[2i+1] ?则是f[i]=f[2i]+f[2i+1]
因此当一个节点的符号改变时,可以通过不断向上传递改变其他节点的值
最后输出每次的f[1]即可
2.3
待补
标签:反思,Codeforces,节点,2.3,1.30,Problem,2i From: https://www.cnblogs.com/nyanya-qwq/p/17094471.html