摘要: 法1:是枚举x和y然后判断是否相等(n^2)法2:枚举x然后根据方程计算y,如果是整数,直接输出。因为需要把”by”移项,所以 b=-b。#include#includeusing namespace std;int ans,a,b,c;int main(){ scanf("%d%d%d",&... 阅读全文
posted @ 2015-10-17 11:19 Martrix99 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 声明:不是两倍而是一倍。假设总共有k家,“我”家的门牌号是x,那么这k家的门牌号之和为(1+k)*k/2(算上了我家的门牌号,所以最后要减去两个x),再根据题意列出方程(1+k)*k/2-2*x=n。移项得:4*x=k*k-2*n。从小到大枚举k,出现整数解即输出。#include#includeu... 阅读全文
posted @ 2015-10-17 11:15 Martrix99 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 关键一点是,需要假设出一个水池的容量。即4个水管的最小公倍数,再假设出每个水管的流速。然后模拟即可。#include#includeusing namespace std;int gcd(int a,int b){ return a%b?gcd(b,a%b):b;}int a,b,c,d,to... 阅读全文
posted @ 2015-10-17 11:04 Martrix99 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 水题,直接暴力搜索:#include#includeusing namespace std;int a,b,c;int main(){ scanf("%d%d%d",&a,&b,&c); for(int i=2;i<=min(a,min(b,c));i++){ if(a%i==... 阅读全文
posted @ 2015-10-17 11:01 Martrix99 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 此题,刚开始看上去以为是加简单的动态规划,但是写了后,交上去发自现不对。后来在网上查了题解后发现用到了“多线程DP”的东西。这种DP就是用来解决这种问题的。和P1143 三取方格数那道题很像。只不过是这道题用的是三维DP。三取方格数那道题是四维的DP。此题的多线程DP的状态转移方程是这样的f[i][... 阅读全文
posted @ 2015-09-28 15:55 Martrix99 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 这道题看了网上好多的题解,用的都是二分图的算法,但是自己却用的是贪心加并查集的做法。二分图的做法其实我并不会,是不是很神奇。 实际上贪心的算法很好想,只要先用一个结构体维护两个人的怒气值,然后从小到大排序。再从小到大搜一遍。时间复杂度大概是(nlogn+n)总时154ms,基本上是C++中最快的了。... 阅读全文
posted @ 2015-09-21 18:31 Martrix99 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 首先要看清题目,卒只能向右或者向下走。而不是四周转。这样的话就无解了。定义f[i][j],表示走到(i,j)这个点时的总步数。这样就写出了一个递推公式f[i][j]=f[i-1]+f[i][j-1]。因为卒是从(0,0)出发,所以f[0][0]=1,因为 f[i][j]只能从前一个状态转移过来。所以... 阅读全文
posted @ 2015-09-20 16:42 Martrix99 阅读(856) 评论(0) 推荐(0) 编辑
摘要: 和“过河”一样,在很久以前我也曾经尝试过做这道题,可无奈当时没有看清题目。题目上说要先找最大的,然后次之。当时纠结了好久,可惜没做出来。但是现在就很好做了,只需要用结构体把每一个花生植株记录下来,sort从大到小排序。然后枚举花生,每次枚举判断一次就好了。但是!!如果我们把题目改一下。不是先找最大的... 阅读全文
posted @ 2015-09-20 16:31 Martrix99 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 这是我写的在Vijos上的第一题。这道题在我刚学完DP的时候,就做过。当时年少轻狂,没有看数据的范围,直接暴力DP,结果TLE。。。。后来就没有再碰过。知道最近觉得快要省赛了,有必要把原来没有做出来的题做一做,于是有了这篇博客。 从那时学完的最简单的动规后,又学了一个名叫状压DP的算法,状压即状态... 阅读全文
posted @ 2015-09-20 11:17 Martrix99 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 水题,以至于我连题目都不想复制了。。。。因为都按最优策略,所以最后一定是把棋盘全部覆盖。哦,对了,是小明先手,题目没说。所以如果n是偶数则小明(Alice)赢,n是奇数,Bod赢。#include#includeusing namespace std;int main(){ int n; ... 阅读全文
posted @ 2015-08-02 20:49 Martrix99 阅读(113) 评论(0) 推荐(0) 编辑