08 2013 档案

摘要:Python的不换行输出好蛋疼,查了半天书没查到。。。python中print默认是换行的。想让它不换行,网上说可以在print后面加上逗号。如:print 'aaa',这个方法行的通,但是中间多了个空格不过如果别的程序要调用这个程序,需要print的打印结果的话恐怕会有些不方便。所以要找个新的方法来往标准输出(屏幕上)打印东西。上网查了查,方法是用sys.stdout.write。import syssys.stdout.write("abc")sys.stdout.write("def") import sysT=input()lis 阅读全文
posted @ 2013-08-09 13:41 Chierush 阅读(10556) 评论(3) 推荐(0)
摘要:首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >=1 )移到前面去..最后没有点可以移动的人输..如这就是一个阶梯博弈的初始状态 2 1 3 2 4 ... 只能把后面的点往前面放...如何来分析这个问题呢...其实阶梯博弈经过转换可以变为Nim..把所有奇数阶梯看成N堆石子..做nim..把石子从奇数堆移动到偶数堆可以理解为拿走石子..就相当于几个奇数堆的石子在做Nim..( 如所给样例..2^3^4=5 不为零所以先手必败)为什么可以这样来转化?假设我们是先手...所给的阶梯石子状态的奇数 阅读全文
posted @ 2013-08-06 11:47 Chierush 阅读(832) 评论(0) 推荐(0)
摘要:典型的Polya定理,还算比较简单,比赛的时候知道是Polya定理但是根本没留出时间去搞,有点小遗憾。思路:根据Burnside引理,等价类个数等于所有的置换群中的不动点的个数的平均值,根据Polya定理,不动点的个数等于Km(f),m(f)为置换f的循环节数,因此一次枚举魔方的24中置换,人肉数循环节数即可,注意细节,别数错了。1、静止不动,(顶点8个循环,边12个循环,面54个循环)2、通过两个对立的顶点,分别旋转120,240,有4组顶点,(点4个循环,边4个循环,面18个循环)x2(120和240度两种)x4(4组对角顶点)3、通过两个对立面的中心,分别旋转90,180,270度。有3 阅读全文
posted @ 2013-08-03 18:20 Chierush 阅读(1223) 评论(0) 推荐(0)
摘要:此题略坑。。。思路:把N个点分成m若干个联通子图,然后用m-1个桥把这m个联通子图连接起来即可。若每个联通子图内部都是完全图也符合题意,但答案却是Wrong Answer,只有把每个联通子图内部当成环来输出才通过,这是本题的一个坑,一个Bug!!!另外联通子图中点的个数不能等于2(如果不明白请读者认真思考5遍)第三个要注意的地方就是输出时每个联通子图只能有一个点与外界连接,不能有两个!!!(如果不明白请读者认真思考10遍)关键在于确定每个联通子图中点的个数,若第i个联通子图中的点个数为a[i],则Σa[i]=N,且Σ(a[i]*(n-a[i]))=2K即Σa[i]2=N2- 2K ,Σa[i] 阅读全文
posted @ 2013-08-02 15:36 Chierush 阅读(703) 评论(0) 推荐(0)
摘要:魔方有6个面,有24中不同的旋转方式:一般有两种方法:(一):以1面为顶面,向右旋转0,90,180,270度 以2面为顶面,向右旋转0,90,180,270度 。。。 以6面为顶面,向右旋转0,90,180,270度 这种旋转方式可以很方便的枚举魔方的各种放置状态,可以用来判断两个放置方式不同的魔方是否为同一魔方。(二): 1、静止不动,那么就是12个循环,每个循环节长度为1 2、通过两个对立的顶点,分别旋转120,240,有4组顶点,在每一次旋转当中,可以发现分为4个循环,每个循环节长度为3,直观的说,就是有3条边是交换的,颜色必须一样。 3、... 阅读全文
posted @ 2013-08-01 21:16 Chierush 阅读(687) 评论(1) 推荐(0)