LINK: "5.15 T2" 个人感觉生成函数更无脑 容斥也好推的样子. 容易想到每次放数和数字的集合无关 所以得到一个dp f[i][j]表示前i个数字 逆序对为j的方案数. 容易得到转移 使用前缀和优化即可。 进一步的可以设出其生成函数 对于第i次放数字 生成函数为$F(x)=1+x^1+x^ ...
分类:
其他好文 时间:
2020-05-17 15:59:35
阅读次数:
55
#include<iostream> using namespace std; void reverseDigit(int num) { int a[100],len=0; while(num!=0) { a[len++]=num%10; num/=10; } for(int i=0;i<len;i ...
分类:
其他好文 时间:
2020-03-08 15:57:57
阅读次数:
171
# 题意奇数码为八数码的扩展,即为n的正方形矩阵,n为奇数,给定一个初始局面,一个最终局面,判断能否从初始局面到达最终局面。 # 题解1) 两个局面可达当且仅当两个局面中除了空格中的数意外展成一行后(不考虑空格)即n*n - 1个数字,逆序对个数的奇偶性相同2) 必要性: 空格左右移动的时候,序列不 ...
分类:
其他好文 时间:
2020-03-07 09:14:34
阅读次数:
69
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> ...
分类:
编程语言 时间:
2020-02-01 10:27:19
阅读次数:
92
判断一个数是否为回文数,回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 通常让数字逆序,然后判断和原数字是否相等,这里只需逆序一般就可以。 case1.奇数位例如判断12321 while循环到x=12 res = 123 x!>res 跳出循环 res //10 == x 为Tru ...
分类:
编程语言 时间:
2019-11-18 14:27:44
阅读次数:
59
对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。求这段正整数序列中逆序对的数目。Input第一行,一个数n,表示序列中有n个数。N<=5*10^5第二行n个数,表示给定的序列。序列中每个数字不超过10^9Output给定序列中逆序对的数目。Sample Input65 4 2 ...
分类:
其他好文 时间:
2019-11-11 12:22:46
阅读次数:
76
数字反转问题(Java实现) 记录面试遇到的一个问题。 问题场景: 输入一串数字,逆序后输出。 示例: 输入:-123,输出:-321 输入:100, 输出:1 程序实现: 测试截图: 可以看到这个算法的效率还是非常高的。 吾生也有涯,而知也无涯。 ...
分类:
其他好文 时间:
2019-09-04 13:22:28
阅读次数:
80
(2)编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。 如何从键盘输入一个数呢? ...
分类:
其他好文 时间:
2019-03-09 22:01:59
阅读次数:
175
题目描述 给定一个数组,判断其中的数据序列是否左右对称:偶数个数时,左右两半部分正好逆序;奇数时,除中间位置数外,左右逆序 输入格式 第一行N表示一共有N个测试用例,也即接下来的输入数据共有N行。 接下来的每一行表示一个输入数组,第一个数字n表示该数组的元素个数,后面紧跟着n个数,中间都以空格隔开 ...
分类:
其他好文 时间:
2018-05-08 20:59:15
阅读次数:
336
编写一个程序,要求用户输入一个两位整数,然后逆序打印出来; 1. 构思: 使用算术分割实现 1.1 实现方法:设输入的数为N,N%10位个位数,N / 10 位十位数 推广:编写一个程序,要求用户输入三位整数,逆序打印出来; 实现方法:设输入的数为ABC;先从ABC中取出一个两位数(AB或BC或AC... ...
分类:
编程语言 时间:
2016-05-26 23:21:32
阅读次数:
320