- 博客(77)
- 资源 (1)
- 收藏
- 关注
原创 设计模式之设计原则
设计原则1.开放-封闭原则2.依赖倒置原则3.单一职责原则4.接口隔离原则5.迪米特原则6.里氏替换原则1.开放-封闭原则类应该对扩展开放,对修改关闭。使用接口及抽象类实现目的:减少影响原有的方法2.依赖倒置原则高层模块不应该依赖低层模块,两者都应该依赖其抽象。依赖抽象类,不要依赖具体类针对接口编程,不要针对实现编程目的:解耦合3.单一职责原则就一个类而言,应该仅有一个引起它变化的原因当一个类耦合了多个职责,当其中一个职责发生变化的时候,就会影响其他的职责比如,页面和
2020-12-18 23:33:17
110
1
转载 thinkphp sql语句
tb_user_organization (userid,organizationid);//组织用户表tb_user(id,name,sex);//用户表查询与某个用户在同一个组织内的所有用户$demo=M("table");$list=$demo->table('tb_user_organization a,tb_user b')->where("a.userid=b.id and a.o
2016-05-03 10:58:02
377
转载 求区间(a,b)中与n的互质数
给定你一个数n,请你统计出在[a,b]这个区间中和n互质的数的个数。 两个数互质当且仅当他们除了1之外没有其他的公共因子或者他们最大的公共因子是1。1和任何数是互素的
2016-04-28 13:30:14
1071
转载 扩展欧几里得
假设当前我们要处理的是求出 a 和 b的最大公约数,并求出 x 和 y 使得 a*x + b*y= gcd ,而我们已经求出了下一个状态:b 和 a%b 的最大公约数,并且求出了一组x1 和y1 使得: b*x1 + (a%b)*y1 = gcd , 那么这两个相邻的状态之间是否存在一种关系呢?我们知道: a%b = a - (a/b)*b(这里的 “/” 指的是整除,例如 5/2=2 , 1/3
2016-04-27 21:28:15
268
原创 phpmyadmin sql 创建外键
//sqlALTER TABLE `tb_tx` ADD CONSTRAINT `id_uid` FOREIGN KEY (`tb_tid`) REFERENCES `test`.`tb_user`(`tb_id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
2016-04-27 16:05:24
476
原创 ZOJ3939 The Lucky Week
幸运星期指,星期一为每个月的1 or 11 or 21号。给出第一个幸运星期的时间,问第n个幸运星期的日期。#include <cstdio>#include <cstring>#include <iostream>using namespace std;typedef long long ll;const int N=100005;const int Max=1753+2800;//返
2016-04-27 16:03:19
792
转载 zoj3946 Highway Project
K. Highway Project t->测试数据组 n,m->n个点,m条可建边 x,y,d,c->x与y有可以建边,经过此边为d 时间,建边需c费用#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=100005;const ll inf=1e12;struct no
2016-04-24 12:52:04
512
原创 c++之精确度
#include <bits/stdc++.h>//含iomanip头文件using namespace std;int main(){ double pi=31415.9265333; cout<<fixed<<setprecision(3); cout<<pi<<endl;}#include <bits/stdc++.h>using namespace
2016-04-22 14:37:40
818
原创 逆序对解决方法之归并排序
逆序对即是对于i < j ,ai>aj的(i,j)树对的个数,那么先求出每 个j中i < j ai < aj的i的个数,那么j-i的和即是逆序对总数。 归并排序中 bi ( 0 <= i < n/2) ci(n/2 <= i < n) 则有三种情况: 1,bi中的逆序对数 2,ci中的逆序对数 3,一个在bi,另一个在ci的逆序对数
2016-03-24 12:54:32
357
原创 计蒜客:数据结构之哈希表
#include <iostream>#include <string>using namespace std;class HashTable {private: string *elem;//哈希表 int size; //长度public: HashTable() { //构造函数 size = 2000; ele
2016-02-23 18:45:31
673
原创 Codeforces Round #342 (Div. 2) 题解
A. Guest From the Pasttime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputKolya Gerasimov loves kefir very much
2016-02-22 16:18:18
535
原创 Codeforces AIM Tech Round (Div. 2) 题解
A. Save Luketime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLuke Skywalker got locked up in a rubbish shr
2016-02-21 20:02:42
429
原创 Codeforces Round #340 (Div. 2) D. Polyline
D. Polylinetime limit per testmemory limit per testinputoutputInputOutputstandard outputstandard input256 megabytes1 secondThere are three points marked on the coordinate plane. Th
2016-01-29 14:40:03
411
原创 C. Watering Flowers 构造
C. Watering Flowerstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputA flowerbed has many flowers and two fo
2016-01-29 14:31:29
886
原创 Educational Codeforces Round 5 C. The Labyrinth
题目链接~~ 题意:求矩阵中’*’为阻塞,’.’为空,求每个阻塞块相邻的连通块有多少空块如下: input 3 3 * . * . * . * . * output 3.3 .5. 3.3由于每个’*’都搜一次会超时,所以现将每个连通块都搜出来,并给每个‘.’所在的块标上块号,并记录每个块的‘.’数量。#include <cstdio>#include <cstring
2016-01-23 18:34:21
369
原创 Codeforces Round #339 (Div. 2) B. Gena's Code
题目链接~~ 题意是求队列的乘积,而n个数的队列中的数字至少有n-1个最多只有1个1的没有前导零的数,所以这个乘积结果只需记录结尾总共有多少零,以及不是只有1个1的数即可。由于位数可以达到10^10所以不能用大数。
2016-01-23 16:15:50
347
原创 Educational Codeforces Round 6 C. Pearls in a Row
题意:求一个数列中最多的“good segments” 的数量,只要一个区间有且仅有两个相同的元素就是“good segments”,还有就是区间长度尽可能长。
2016-01-23 16:02:00
244
原创 Codeforces Round #333 (Div. 2) B Approximating a Constant Range
题意:求一个最大的区间使最大值与最小值相差不大于1 用multiset暴力做了一发
2015-11-26 09:39:46
376
原创 Codeforces Round #331 (Div. 2) C. Wilbur and Points 贪心+排序
题目~~ 题意: 有n个坐标,wi为(yi-xi),再给出n个wj(j=0~n), wi==wj 则第i个坐标标号为j,而满足xi<=xj && yi<=yj (i < j) 的j标号必须大于i的标号,存在则输出YES,并且按标号输出坐标,否则输出NO,保证只有一种可能。
2015-11-18 10:39:09
472
原创 hdu5475 An easy problem 线段树
res=1;1 . x==1,y -> res*=y;2. x==2, n -> res/=yn
2015-10-30 20:36:21
341
转载 hdu4427 Math Magic dp
点击打开链接~~给出N,M,K就是求能满足以下条件的的方法数,(1,2)与(2,1)是两种方式lcm为最小公倍数gcd为最大公约数lcm(i,j)=i*j/gcd(i,j)1. SUM (A1, A2, ..., Ai, Ai+1,..., AK) = N2. LCM (A1, A2, ..., Ai, Ai+1,..., AK) = M
2015-10-30 19:25:58
359
转载 hdu4421 Bit Magic 2-sat
点击打开链接~~主要就是下图中,给出b[n][n],求是否有a[n]符合,有则“YES”,否则“NO”至于2-sat,就是处理两个关系以下的算法,比如a&b==0,那么如果a==1,那么 b一定是0,如果b==1,那么a一定等于0,具体看代码可以将i看作i==0时,i+n看作i==1时#include #include #
2015-10-30 15:58:38
313
原创 uva1352-Colored-Cubes 精选技巧2
题意:修改方块某些面的颜色,使所有方块一样,即每种方块存在某种旋转方式使所有方块对应的面的颜色相同于是用最暴力的方式枚举每一种状态,24种状态如题目中1在顶面,然后左旋转3次,便有4种状态,分别有6种在顶面的状态,所以有4*6=24种;我是暴力推出24种状态的。如 1在顶面的状态,首先向上翻,则原集合{1,2,3,4,5,6} -> {4,2,1,6,5,3} (原集合的中间(3,4)交换
2015-10-24 15:15:40
347
原创 poj3279-Fliptile 技巧1 开灯问题
FliptileTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 5533 Accepted: 2091DescriptionFarmer John knows that an intellectually satisfied cow is a happy
2015-10-23 13:44:17
382
原创 2015 ACM/ICPC Asia Regional Changchun Online (部分)
2015 ACM/ICPC Asia Regional Changchun Online
2015-09-20 20:56:06
749
原创 hdu-5391 Zball in Tina Town 找规律(求素数)
hdu-5391 Zball in Tina Town 打表找规律,发现除了n=4时为2之外,素数的(n-1)的阶乘%n都为n-1,合数的结果都为0,下面是一种常用的求素数的方法,及一种筛素数的高效的方法 感兴趣的可以看看这篇blog 素数判断算法(高效率)
2015-08-17 08:56:24
389
转载 随笔
我向来孤僻成性却念你好深 我的三分钟热度却爱了你好久你就像我没赶上的班车 没尝到的小吃 没做完的美梦 没看全的电影总归是憾事 你的眼眸是我永生遇到最深的海 沉溺于此Even if you don’t love me or love me, I still want to love you…….念:我爱你不是因为你是谁 而是我在你面前可以是谁即使我依然孤僻成性 可我依然还是念你很深
2015-08-08 19:18:39
249
原创 hdu5311 Hidden String dp找字符串前缀
#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <algorithm>using namespace std;string s;string p="anniversary";int f[105][105]; //字符串匹配数组int dp[105][105]; //
2015-07-26 18:26:32
287
原创 多校 hdu 5294 Tricks Device 最短路+最大流
Tricks Device 题意是要找最少断有几条路能使无邪抓不到宁,最多断几条路还能抓到,首先是求最短路中最小步数cnt,用(总路数-cnt)即最多的,然后再在所有最短路的基础上找边权为1的最大流,原因就是到达终点的最短路即使不同,但也有可能经过同一条路到达终点,而最大流则可以求出最短路中终点的最大入度。
2015-07-24 13:08:36
325
原创 lower_bound() + upper_bound()
#include <bits/stdc++.h>using namespace std;int num[8]={4,10,11,30,69,70,96,100};int main(){ int pos1=lower_bound(num,num+8,11)-num;//0~7之间>=11的数的位置 int pos2=upper_bound(num,num+8,11)-num;/
2015-07-22 11:10:41
200
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人