
Ural
文章平均质量分 58
编码之夜
产品研发工程师
展开
-
Ural1924(模拟+贪心)
题目链接:点击打开链接解题思路:在1到n之间插入+、-号,两个队伍都使用最优策略。看最后所得结果的奇偶性断胜负。贪心即可。贪的原则是首先明确这场是谁放置加减号,如果是第一个队伍,那么因为结果是偶数对他们有利,那么我们就尽可能使结果为偶。无论加减都不能使结果为偶数的话,那么索性直接加上即可。同理,对于第二支队伍,只要尽量使当前结果为奇数即可。完整代码:#inclu原创 2015-03-03 14:31:39 · 798 阅读 · 0 评论 -
Ural1110(数论)
题目链接:点击打开链接解题思路:用到数论知识,不然的话可能就要JAVA开大数·····鉴于我JAVA这么弱,还是用数学知识吧!(i * i * i * ····*i) % m ==( ( (i % m) * i % m) ····)%m。总之就是最后不要忘记循环结束后还要对m取一次余。完整代码:#include #include #include #inc原创 2015-03-07 19:34:29 · 721 阅读 · 0 评论 -
Ural1876(贪心)
题目链接:点击打开链接解题思路:按照两个方面来贪:首先第一点,我们可以想到先将所有右脚的鞋子穿完,然后把所有剩余的右脚鞋子丢掉,最后穿够左脚即可。即b * 2 + 40;第二点,我们先穿39个右脚的鞋子,然后穿40个左脚的鞋子,之后我们把所有剩下的左脚鞋子丢掉,最后再花1s时间穿1个右脚鞋子。即39 * 2 + 40 + 2 * (a - 40) + 1;二者中取最大值即原创 2015-03-07 10:26:46 · 708 阅读 · 0 评论 -
Ural1349(费马大定理)
题目链接:点击打开链接解题思路:费马大定理······Orz!!!膜拜神学。当n== 1时,输出1 、2、 3;当n==2时,输出3 、4 、5;当n >= 3时,无解。完整代码:#include #include #include #include #include #include #include #include #include usin原创 2015-03-07 20:50:40 · 814 阅读 · 0 评论 -
Ural1585(细节)
题目链接:点击打开链接解题思路:很简单,但细节很坑。用getline之前要来个getchar把输入n后的回车吃掉,经过被加速器坑过这么多次后,我就决定以后还是不用加速器了。完整代码:#include #include #include #include #include #include #include #include #include usi原创 2015-03-05 13:59:40 · 458 阅读 · 0 评论 -
Ural1225(数学)
题目链接:点击打开链接解题思路:上来先把n 分别为1、2、3、4的情况大致列了一下,发现n == 1时结果为2,n== 2时结果为2,n == 3时结果为4,n== 4时结果为6.于是大胆的猜想ans[i] = ans[i - 1] + ans[i - 2],但是WA在#12。把预处理表打出来看了看······当n达到45时,结果都溢出了,并且此题long long存不下,果断原创 2015-03-05 13:18:59 · 638 阅读 · 0 评论 -
Ural1209(数学推导)
题目链接:点击打开链接解题思路:此题甚好。推导公式,首先观察序列110100100010000·····,我们把为1的下标单独拿出来看。依次为1、2、4 、7、 11·····,可以分解为1+(0) 、1+(0+1)、1+(0+1+2)、1+(0+1+2+3)、1+(0+1+2+3+4),可以推导出规律1 + x * (x - 1) / 2。那么对于每个n,我们只要判断是否存在原创 2015-03-04 20:05:15 · 804 阅读 · 0 评论 -
Ural319(输出格式)
题目链接:点击打开链接解题思路:分别从右上角和左下角考虑,和姐姐跟我说的上一题差不多·····完整代码:#include #include #include #include #include #include #include #include #include using namespace std;typedef long long LL;原创 2015-03-04 20:26:06 · 746 阅读 · 0 评论 -
Ural1313(输出格式)
题目链接:点击打开链接解题思路:本题考查输出格式,不用看描述,太长····直接看样例即可。PTQ告诉我一种方法,十分神奇。首先对于左上角(包括对角线)那些元素开一个数组存储,发现对于每个斜线上的元素,都以每行第一个元素为首,依次变换为(i - 1 , j + 1);同理。对于右下角哪些元素,从最右侧的每个元素为首,依次变换为(i + 1 , j - 1)。不同之处在于第二个数组原创 2015-03-03 15:17:46 · 740 阅读 · 0 评论 -
Ural1881(模拟)
题目链接:点击打开链接解题思路:处理起来比较麻烦,把长度用数组存起来,然后按照长度去取,去完之后看能分多少行,最后在取页数即可。精彩点在分行那。完整代码:#include #include #include #include #include #include #include #include #include using namespace s原创 2015-03-07 11:23:04 · 843 阅读 · 0 评论