![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 57
HDACMer
I am from Soochow University
展开
-
POJ1151 离散化求矩形面积的并
/*第一道离散化的题目,虽然是水题,不过还是很高兴。。。*/#include#include#includeusing namespace std;struct rect{ double x1,x2,y1,y2;};#define max 103rect a[max>>1];double x[max],y[max];bool flag[max][ma原创 2013-07-07 15:38:52 · 579 阅读 · 0 评论 -
CF 356A
这题有个注意的地方,就是对集合边读边删除的时候,应该尤为注意。。 my_set.erase(it++)#include #include #include using namespace std;int color[300005];int main(){ int n, m; while (cin >> n >> m) {原创 2013-10-16 22:28:44 · 640 阅读 · 0 评论 -
苏州大学月赛2013_month_10
hello world Time Limit(Common/Java) : 1000 MS/ 3000 MS Memory Limit : 65536 KByteTotal Submit : 0 Accepted : 0Description hello world作为所有编程语言的起始阶段,占据着无法改变的地位,所有中/英/法/德/美…原创 2013-10-25 16:31:41 · 840 阅读 · 0 评论 -
CF 375A
这是一道数学题,真是很考验数学思维,之前也遇到过相似的问题,但是依然是想不到点子上,就这提而言,最重要的就是能否发现由 1, 6, 8,9这四个数字组成的排列对7取模是可以得到0, 1, 2, 3, 4, 5, 6的。也许这就是经验。。。。找到思路了。不要高兴太早。随之而来的就是效率问题。py效率本来就是被人们诟病的,提交的n次全TLE。。。我当然知道py的字符串是很慢的所以应原创 2013-12-28 16:32:31 · 756 阅读 · 0 评论 -
Codeforces 300C
题目链接: http://codeforces.com/contest/300/problem/C本来是道不难的题目,还是自己的数学功底不扎实。从该题又一次巩固了关于乘法逆的概念,在剩余系中,如果要做除法,如 a / b%n , 此时应该计算 a * (b在n下的逆), 而不是直接计算 a / b另外一点值得注意的是,如果 n 为一素数,那么 b 的逆就是 pow_mod(a,原创 2014-01-07 19:24:42 · 1237 阅读 · 0 评论 -
Poj 1144
NetworkTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 8403 Accepted: 3930DescriptionA Telephone Line Company (TLC) is establishing a new telephone cable原创 2014-01-11 13:40:08 · 610 阅读 · 0 评论 -
Hdu 4597记忆化搜索
好久没有做题了,水平已经完全在学弟之下了。一个吉林邀请赛最水的题目。:(其实这题一看到数据范围,只可以想到思路,直接爆搜,加个记忆化。这题虽然A了,但是我还是没太想清楚一些边界情况,心虚着A了。我的代码如下:/************************************************************************* >原创 2014-03-02 14:04:31 · 526 阅读 · 0 评论 -
HDU 4217
点击打开题目链接个原创 2014-04-30 18:04:08 · 728 阅读 · 0 评论 -
Codeforces 425A
点击打开题目链接原创 2014-04-30 15:33:16 · 832 阅读 · 0 评论 -
Codeforces 425B
点击打开题目链接原创 2014-05-01 10:04:36 · 728 阅读 · 0 评论 -
Codeforces 404B
毫无疑问这题不是难题,但是这种题目最让人纠结打心里对这种题目就比较害怕,果然,各种WE这里贴上代码,用Python写的,比较偷懒:def cur_pos(a, d): if 0 <= d <= a: return d, 0.0 elif a < d <= a + a: return a, d - a elif a + a < d <= a * 3: ret原创 2014-03-20 10:26:23 · 727 阅读 · 0 评论 -
数学题集
排列组合: poj1850, poj3252• Lucas 定理: poj3219• 素数测试与筛法: poj2191, poj1811• 大数分解的快速算法: poj1142• 进位制: poj2798, poj1702• 同余模运算: poj1006, poj2115• 容斥原理: poj3904, poj1173• 置换群与Burnside 引理: poj2888原创 2014-04-16 18:29:38 · 771 阅读 · 0 评论 -
排序函数中比较函数cmp的理解
无论是使用 sort() 或者 qsort(), 都会使用到自己定义比较函数,习惯上定义为 cmp如: int cmp(const void *x, const void *y) { return *(int*)x - *(int*)y;}我一直也是这样用,直到去年寒假给学弟们讲课的时候,有个学弟问: 为什么不可以写成 : int cmp原创 2014-04-05 15:37:37 · 1225 阅读 · 0 评论 -
Hdu 3829
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3829原创 2014-04-17 19:17:19 · 563 阅读 · 0 评论 -
Hdu 4143
题目链接好久没有在Hdu水题了,于是乎在无聊之际还是找了一道水题,但是看完题目之后,明显是个数学题,我还是感觉有点打触的。因为一直对数学题没有多大信心。分析了一下,Y^2 = X^2 + n 可以转化为 Y^2 = (X + a)^2所以:n = a^2 + 2 * a * X , 而且 X > 0所以 0 由于要求的是最小的 X, 所以只要逆序枚举 a 就可以原创 2014-04-04 21:39:04 · 909 阅读 · 0 评论 -
Hdu 4291
题目链接原创 2014-04-21 16:52:04 · 586 阅读 · 0 评论 -
HDU 4193
附上代码:#include #include #include #include using namespace std;#define MAX_N (2000000 + 2)int sum[MAX_N], q[MAX_N];int n, cnt, front , rear;inline void in(int i) { while (front = sum[i]) r原创 2014-04-09 19:24:11 · 573 阅读 · 0 评论 -
Hdu 1729 Nim博弈
点击打开题目链接之前没做过这题,因为学弟要我原创 2014-04-25 22:14:11 · 568 阅读 · 0 评论 -
hdu 1058
通过此题有两个收获: 第一-----------------序数词的正确拼写。 第二----------------学会了map的基本使用方法。 -----------------------------------------------------------------------------------原创 2013-08-04 20:59:45 · 566 阅读 · 0 评论 -
HDU3486 RMQ
/*多么变态的一道题,交了18次*/#include#include#include#define max(a,b) (a>b?a:b)int dp[200005][20],llog2[200005];//用llog2数组进行优化int n,k;void DpMax(){ for(int j=1;j for(int i=1;i+(原创 2013-07-05 18:27:03 · 579 阅读 · 0 评论 -
cf 222B 数组行列交换操作
/*做完这题发现自己好水,太伤人了。。。。不过还是学到一些,如果直接暴力模拟的话肯定是TLM。。所以要用虚拟数组来分别保存当前数组的每行没列在初始数组中的位置。。。*/ #include#includeusing namespace std;#define max 1000+5int a[max][max];int r[max],c[max];int mai原创 2013-07-04 19:39:32 · 758 阅读 · 0 评论 -
fill memset, for小测试
/*很无聊写着玩玩,后来发现memset效率会比fill高出这么多,可惜一般只用来赋值0,-1.。。。。。以后可以用fill来偷偷懒了。。。*/#include#includeusing namespace std;#define max 100000000+5int a[max];int main(){ time_t beg,end; beg=clock();原创 2013-07-10 11:27:44 · 616 阅读 · 0 评论 -
NYoj 613 免费馅饼
#include#include#define Max(a,b) (a>b?a:b)#define max 100000+5int dp[max][11]; //dp[i][j]表示在i秒时站在j点处可得到的馅饼个数的最大值int map[max][11]; //把每秒钟每个坐标的馅饼个数存储在map矩阵中int MAX(int a,int原创 2013-06-23 17:22:14 · 643 阅读 · 0 评论 -
HDU4004 二分答案
第一道二分答案。。。今天看了大牛的博客,突然发现有个叫“二分枚举答案”的方法好像很牛,于是便搜了些资料。。发现并不是很难,可能是我了解的只是冰山一脚罢了。。。加油ACMer!!!!#include#include#includeusing namespace std;#define max 500000int d[max],ans;int L,n,m;原创 2013-06-24 16:25:02 · 785 阅读 · 0 评论 -
HDU4355 三分查找
/* * 三分查找 */#include#include#define eps 1e-6//typedef __int64 LL;int n;double x[50005], w[50005];double func(double y){ double res=0; for(int i=0;i double a=原创 2013-06-25 17:32:38 · 632 阅读 · 0 评论 -
HDU2699 扩展欧几里德
//赤裸裸,不解释#includetypedef long long LL; //hdu需用int64void gcd(int a,int b,LL& d,LL& x,LL& y){ if(!b){ d=a;x=1;y=0; } else{ gcd(b,a%b,d,y,x);原创 2013-06-26 13:01:39 · 710 阅读 · 0 评论 -
告别水题
突然发现大一美好的时光马上就要结束了,自己也将成为学长。。。此刻心情无比悲痛,更重要的是似乎期末考试有挂科的风险,可能是花了大量时间在算法学习上,导致成为了一枚学渣,不过还有十天呢哈哈,要努力复习了,同时对于即将步入大二的我来说,也该是和水题说拜拜的时候了。。。暑假集训继续加油!!!!!!!!!!!!即使我对你有万分不舍,我依然是要离开你的,不过也许会有那么一天我会重新看望你的:D--------原创 2013-06-26 16:10:15 · 719 阅读 · 0 评论 -
zoj2562 反素数
/*这题1 16,暴力肯定是TLM,所以看了大牛求解小于N的反素数的算法,思路大致是这样的:性质1:一个反素数的质因子一定是从2开始的若干个连续质数. 因此可以枚举素因子,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47。。最多也就这么几个。性质2:若有p=2^a1*3^a2*5^a3*......,则必有a1>=a2>=a3>原创 2013-07-11 15:30:10 · 573 阅读 · 0 评论 -
POJ2823 单调队列
#include#define max 1000000+5int a[max],q1[max]/*单调递增*/,q2[max]/*单调递减*/,ans1[max],ans2[max];int n,k,h1,t1,h2,t2;void q1_in(int i){ //入队 while(h1=a[i]){ t1--; }原创 2013-06-26 16:03:05 · 636 阅读 · 0 评论 -
图的着色问题
问题起源于一个宣讲会时间安排问题,有若干个部门要进行宣讲会,有若干个同学对多个部门有兴趣,希望在给出一个时间方案,要求所有的同学都可以参加所有他感兴趣的宣讲会,同时要求在最短的时间内把宣讲会结束。把每个宣讲会作为一个点,每个同学感兴趣的宣讲会两两相连,就变成了一个图的最少着色问题。图的m-着色判定问题——给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色原创 2013-07-12 17:20:16 · 976 阅读 · 0 评论 -
HDU1059
/* * 母函数+优化 */#include#include#define max 20000int c1[max],c2[max];int a[7];int main(){ for(int i=1;;i++){ int sum=0; for(int j=1;j scanf("%d",&a[原创 2013-06-29 17:00:09 · 750 阅读 · 0 评论 -
HDU2056
/* * 指数型母函数 */#include#define mod 100typedef long long LL;//杭电需用int64int powerMod(int a,LL b){ LL ans=1; while(b){ if(b%2){ ans=(ans*a)%mod; }原创 2013-06-29 16:58:33 · 895 阅读 · 0 评论 -
poj1160 动态规划
#include#include#define INF 999999999#define Min(x,y) (x#define max 300+5//dp[i][k]记录在从1到i的村庄中放置k个邮局的最短总距离//sum[i][j]记录在从第i到第j个村庄中放置一个邮局的最短总距离int dp[max][30+5],sum[max][max];int n,m,x[原创 2013-07-15 14:49:19 · 568 阅读 · 0 评论 -
欧拉路与欧拉回路
对无向图: 定义:给定无孤立结点图G,若存在一条路,经过图中每条边一次且仅仅一次,该条路称欧拉路,若存在一条回路,经过图中每边一次且仅仅一次,该回路称为欧拉回路。具有欧拉回路的图称为欧拉图,不是柏拉图。定理:无向图G具有一条欧拉路,当且仅当G是连通的,且有0个或者是两个奇数度得结点。推论:无向图G具有一条欧拉回路,当且仅当G是连通的,并且所有结点的度数均为偶数。一笔画问题就是典型的原创 2013-06-29 17:22:48 · 680 阅读 · 0 评论 -
HDU1709
/* * 好奇怪的母函数 */#include#include#include#includeusing namespace std;#define max 100*100+10int c1[max],c2[max],a[max];int main(){ int n; while(~scanf("%d",&n)){原创 2013-06-29 16:52:19 · 739 阅读 · 0 评论 -
NYoj536 矩阵链乘
经典问题没啥说的#include#include#define max 100+1#define min(a,b) (atypedef long long LL;LL dp[max][max];int p[max];int main(){ int n; while(~scanf("%d",&n)){ int i,j,k,原创 2013-07-01 14:50:04 · 700 阅读 · 0 评论 -
HDU1950
//虽然是一道LIS问题,但是还是第一次用O(n*lgn)这种算法,赶角波错哈哈哈哈。。。。至少今天有所收获#include#include#define max 40000+5int a[max],dp[max];int main(){ int t; scanf("%d",&t); while(t--){ int n原创 2013-07-02 14:30:48 · 780 阅读 · 0 评论 -
Hdu 1730 Nim博弈
点击打开题目链接原创 2014-04-25 22:25:17 · 656 阅读 · 0 评论