摘要:
题意 给定一个进制B,输出所有大于等于1小于等于300且它的平方用B进制表示时是回文数的数分析 模拟,写清楚进制转换和判断回文即可Accepted Code 1 { 2 ID: jessiel2; 3 PROG: palsquare 4 LANG: PASCAL 5 } 6 Program palsquare; 7 Const 8 Infile = 'palsquare.in'; 9 Outfile = 'palsquare.out';10 Var11 now,old:Ansistring;12 b,i:LOngint;13 z:Array[10..35]Of 阅读全文
摘要:
题意 给出一个数和每个数字可对应字母,求这个数可以对应的单词中哪些在字典里 字典给出 输出单词 如果没有 输出NONE分析 因为每个数字可对应多个字母 我就把字典里所有单词都映射成数 再跟读进来的数进行比较...Accepted Code 1 { 2 ID: jessiel2; 3 PROG: namenum 4 LANG: PASCAL 5 } 6 Program namenum; 7 Const 8 Infile = 'namenum.in'; 9 Outfile = 'namenum.out';10 Dictionary = 'dict.txt 阅读全文
摘要:
题意 给出一个n*n的原始矩阵图形,一个n*n的变换后矩阵图形,再给出7种变换法则,问是哪种变换分析 纯模拟,写的我心烦,其实我就该多锻炼锻炼这种题 话说翻了一下一年半前刚学编程的程序,当时把这道题看作神题啊,“多麻烦的模拟!”,然后照猫画虎写了个程序,才几十行- - 现在..呵呵了 比起有算法的东西 真是简单..不过我还磨叽了二十分钟写了不到200行还贡献了一次WA 至于为啥WA?泥煤又是没看清题..注意要输出最小的变换Accepted Code无视乱七八糟的输出吧 1 { 2 ID: jessiel2 3 PROG: transform 4 LANG: PASCAL 5... 阅读全文
摘要:
题意 给出n个工作时间段 问连续最大空闲时间段和连续最大工作时间段分别是多少分析 按照每个时间段的起始排序,记录一下当前的s和t,如果按照循环,下一个时间段在当前t的后面,则更新空闲时间段和s,t 如果下一个时间段的起始在t之前,则更新t和工作时间段 第一次WA,没看明白题就写了,第二次WA,尼玛的快排写错了,第三次才ACAccepted Code 1 { 2 ID: jessiel2 3 PROG: milk2 4 LANG: PASCAL 5 } 6 Program milk2; 7 Const 8 Infile = 'milk2.in'; 9 Outfile = ' 阅读全文
摘要:
题意 给你一个由r w b组成的字符串,这个串首位相接连成一个环 给出一个计算方法:选取这个环任意两个相邻元素的之间,由这个位置顺时针取连续相同元素,逆时针取连续相同元素,两个方向的元素可不同 求问能取到最大的数目 注:w可以被看作r,也可以被看作b分析 方法1:模拟 关于环的处理:将这个环任意一个位置断开成一条链,然后复制出一条一模一样的接在这条链的后面,即构造了一个2*n长度的链 模拟时注意w的问题,w元素的前后元素一致时,w元素后的元素才可计入(WA一次) 第二个问题,当一条链元素一样时,正反两次扫描会计算两次,注意扫过的元素不能再利用(WA第二次) 比如test... 阅读全文
摘要:
题意 一个有向图,给出n个点,m条边,给出每条边的起点和中点以及容量,求最大流分析 求最大流模板Accepted Codedinic 1 { 2 PROBLEM:poj 1273 3 AUTHER:Rinyo 4 MEMO:网络流 5 } 6 Program flow; 7 Const 8 Infile = 'flow.out'; 9 Outfile = 'flow.out';10 Var 11 q:Array[0..100000]Of Longint;12 map:Array[0..400,0..400]Of Longint;13... 阅读全文
摘要:
题意 有N部电影,分别可以在一个星期的几天拍摄,并可以拍W个星期,Alice可以有D个星期拍这部电影,一天只能拍一部电影。问Alice能否拍完所有电影分析 这题直接把每天看成一个点,每部电影也看成一个点,然后源点与电影连接,容量为要求天数,电影与能工作的那些天连容量为1的边,每天再连一条容量为1 的边到汇,最大流为所有要求天数之和就是YesAccepted Code 1 /* 2 PROBLEM:poj1698 3 AUTHER:Rinyo 4 MEMO:网络流 5 */ 6 #include<cstdio> 7 #include<queue> 8 #include.. 阅读全文
摘要:
题意 给出一个n*m的格子,要求用1*2的块和2*2缺一角的块填满,求方案数分析 状压dp,以下来自nocow: 状态压缩DP,转移的时候情况很多,要一个个写出来理清楚再写。 一行一行推,opt1为上一行的状态,opt2为当前行的状态,u1,u2分别为上下两行是否与左边相连而凸出来。/* Case 1 2 3 4 5 6 7 | +- | L or U L| or U| -+ or -+ L or U or L or U | | +- -- -- -+ -+ W| L| W W L L old L : connect with Left block U : connect with ... 阅读全文
摘要:
题意 求一个无向图中没有重边的两条最短路,并输出方案分析 注意,是两条最短路!不是一条最短一条次短!所以先来个dijkstra/spfa来算一下最短路 根据dijkstra/spfa求出的dist[i]数组,建立一个新图,上面只有所有满足最短路的边构成的图 这样,建图就Ok了,下面如何解决没有重边呢? 很显然,设立一个源点和汇点,在源点出放出2的值。然后把刚刚建好的新图,边的权值设为1,相当于只能允许一个人经过。这样,如果在汇点得到了2的值,说明这样的两条路是存在的,再利用一个dfs求出即可。 注意dinic需要加上当前弧优化,不然会tle at #17Accepted Code ... 阅读全文
摘要:
题意 一个圆上有2k点,请输出点于点之间连线使得所分区域块数最小的方案总数以及区域数分析 2k个点最少能把平面分成k+1的区域,易证; 至于方案数,利用递推和乘法原理 令f[i]表示2i个点时的方案数,f[0]=f[1]=1,则f[i]=sigma(f[j]*f[i-j-1],0<j<i) 具体参见百度百科:卡特兰数列Accepted Code 1 /* 2 PROBLEM:sgu130 3 AUTHER:Rinyo 4 MEMO:数学 5 */ 6 #include<cstdio> 7 long long f[40]; 8 int... 阅读全文