摘要:
http://codeforces.com/contest/441/problem/C题意:有n×m个方格,然后把这些方格分成k部分,每个部分内的方格的坐标满足|xi - xi + 1| + |yi - yi + 1| = 1,且每一个部分内的方格数>=2,输出其中的一种方案。思路:贪心,先让k-1... 阅读全文
摘要:
题意:给你n个数,然后分成k部分,每一个部分的和为偶数的有p个,奇数的有k-p个,如果可以划分,输出其中的一种,不可以输出NO;思路:先输出k-p-1个奇数,再输出p-1个偶数,剩余的在进行构造。 奇数+奇数=偶数。 1 #include 2 #include 3 #include 4 #in... 阅读全文
摘要:
题意:给你m个数,然后你选择一个数替换成别的数,使得.最小。注意选择的那个数在这m个数与它相同的数都必须替换同样的数。思路:用vector记录每一个数与它相邻的数,如果相同不必记录,然后遍历替换成与它相邻的多个数的中位数之后的所有数的和取最小就可以。。 1 #include 2 #include ... 阅读全文
摘要:
思路:dp[i][j]表示和为i,最大值为j的方案数。 1 #include 2 #include 3 #include 4 #include 5 #define maxn 100010 6 #define ll long long 7 using namespace std; 8 cons... 阅读全文
摘要:
题意:给你n个数,然后在交换次数小于等于5×n的情况下使得这个序列变成升序,输出次数;思路:哥德巴赫猜想:任何一个大于5的数都可以写成三个质数之和。尽可能的找大的素数,从1的位置向右逐步的调整,每一个位置最多5次,有的位置不到5次; 1 #include 2 #include 3 #includ... 阅读全文
摘要:
http://codeforces.com/problemset/problem/430/C题意:在一棵上有n个节点,有n-1条边,在每一个节点上有一个值0或1,然后给你一个目标树,让你选择节点,然后把节点的值翻转,它的孙子节点跟着翻转,依次类推。。。问经过最少次数可以使这棵树变成目标树。思路:利用... 阅读全文
摘要:
题意:输入n,t,c,再输入n个数,然后问有多少个连续区间内的最大值小于等于t; 1 #include 2 #include 3 #include 4 #define maxn 200100 5 using namespace std; 6 7 int t,n,c; 8 int a[maxn... 阅读全文
摘要:
http://codeforces.com/contest/426/problem/C题意:找出连续序列的和的最大值,可以允许交换k次任意位置的两个数。思路:枚举区间,依次把区间内的比较小的数换成区间外的比较大的数。 1 #include 2 #include 3 #include 4 #in... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=5063思路:因为3查询最多50,所以可以在查询的时候逆操作找到原来的位置,然后再求查询的值。 1 #include 2 #include 3 #include 4 #include 5 #define ll... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=5056题意:给你一个字符串,然后找出子串中每一个字母出现次数小于等于k的个数。思路:枚举字符串下标i,每次计算以i为结尾的符合条件的最长串。那么以i为结尾的符合条件子串个数就是最长串的长度。求和即可。 1 #inc... 阅读全文