摘要: 树的前序遍历,水题~ unordered_map<char,char> l,r,fa; set<char> node; int n; void preorder(char root) { if(root == '*') return; cout<<root; preorder(l[root]); p 阅读全文
posted @ 2021-01-24 23:13 Dazzling! 阅读(42) 评论(0) 推荐(0)
摘要: 数据结构里的经典题了,不过这次是借助$STL$而不是花哨的指针 ^_^ 用一个$pair$数组来存树,结点上存的是下标,最后输出结果时要将下标对应成值,恰好我们存了中序遍历的下标和值的对应关系,于是最后输出层序遍历结果时将下标转成对应中序序列中的值就好了。 ps:树中每个结点的值都是不同的。 con 阅读全文
posted @ 2021-01-24 20:07 Dazzling! 阅读(36) 评论(0) 推荐(0)
摘要: 水题,水题,又读了假题@_@ 判断系数是否构成回文,数组大小开到$30$就够了,$n$最大为$10^9$,而基数最小为$2$,\(2^{30} > 10^9\),即最多有$30$位。 相同数码,基数越大,按权展开值越大,即为的单调性。 反之,相同数值,基数越小,位数越多。 ps: $\color$加 阅读全文
posted @ 2021-01-24 13:02 Dazzling! 阅读(43) 评论(0) 推荐(0)
摘要: 状态数为$2^{100-1}$,显然不能用二进制枚举了。 观察到下列性质: 交换区间反转的顺序对最终结果是没有影响的 对同一个区间进行两次以上的反转是多余的 由此,问题就转化成立求需要被反转的区间的集合。 我们先考虑一下最左端的硬币,包含该硬币的区间只有一个,因此如果该硬币和目标状态一致,我们就不需 阅读全文
posted @ 2021-01-24 10:20 Dazzling! 阅读(62) 评论(0) 推荐(0)
摘要: 本以为是个打表题,没想到竟是个规律题orz 打表 const int N=110; int a[N][N]; int n; void init() { for(int i=0;i<100;i++) { a[i][i]=1; for(int j=i+1;j<100;j++) a[i][j]=a[i][ 阅读全文
posted @ 2021-01-24 09:33 Dazzling! 阅读(71) 评论(0) 推荐(0)