E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ACM_想法题
ACM_
并查集
//题意:ignatius过生日,客人来到,他想知道他需要准备多少张桌子。然而一张桌子上面只能坐上相互熟悉的人, //其中熟悉可定义成为A与B认识,B与C认识,我们就说A,B,C相互熟悉。例如A与B熟悉andB与C熟悉,D与E熟悉,此时至少需要两张桌子。 //输入:t表示样例个数,n表示朋友个数,朋友从1到n编号,m表示已知相互了解的对数,接着m行。每行表示相互熟悉的编号 //输出:至少需要准备的
xiaotan1314
·
2015-10-04 14:00
并查集
SCU 4437 Carries
想法题
题目大意:就是现在给出10万个1e9以内的非负整数,问他们两两相加一共会有多少次进位(10进制加法),例如99+1有2次进位,10+19没有进位大致思路:其实就是一个简单题,比赛的时候想了半天一直束缚在按位考虑的范围内没有想到以一整段后缀位来考虑...数位DP做傻了么...这个题考虑进位的位置即可,首先枚举进位是因为达到了10,100,1000...,1e9对于每一次枚举10^t,就是在10万个数
u013738743
·
2015-10-01 20:00
scu
4437
Carries
ACM_
素数筛选
/* *素数筛法,判断小于MAXN的数是不是素数。 *notprime是一张表,为false表示是素数,true表示不是素数 */ constintMAXN=1000010; boolnotprime[MAXN];//值为false表示素数,值为true表示非素数 voidinit(){ memset(notprime,false,sizeof(notprime)); notprime[0]=n
xiaotan1314
·
2015-09-29 12:00
素数筛选
HDU5090
这道题是个不错的
想法题
,首先我们会发现每个数x都可以变成小于等于n的x+n*k(n=0,1,2,3....)这样的话,我们把每个数的所有倍数,变成这种形式,当我们循环需要到i的时候,我们就把i,i+k,
wang57389675
·
2015-09-07 20:00
hdu 5414 CRB and String(
想法题
)
题意:给你两个字符串s和t,你可以在字符串s中任意选一个字符c,在该字符c后插入一个字符d(d!=c),问经过多次此操作,能否将字符串s转化成字符串t。解析:不要想太复杂了,分情况讨论清楚就好了。1.如果|s|>|t|,那么无论怎么组合都是无法构成t的。2.如果s[0]!=t[0],无论怎么组合,也都是无法构成t的。3.以上两种情况比较好考虑,然后找两个串的最长公共前缀。如果s的最长公共前缀等于|
HelloWorld10086
·
2015-08-21 19:00
HDU
5414
Codeforces Gym 100203D Different vectors
想法题
+ Hash
题目大意:就是现在给出N个向量,对于两个向量他们相等的条件是可以通过轮转使得存在正整数之间的双射使得两者相等给出N个向量问不相等的向量有多少个大致思路:首先对于每个向量,先求出对于每个位置向左边(或者向右边)最近的和它相同的位置到这个位置的距离作为这个位置的新值例如1223向左找的话就是4314,只要两个向量这么变化之后通过轮转是一样的话就一定恩那个通过双射得到,判断两个字符串相等的话,Hash就
u013738743
·
2015-08-15 20:00
hash
different
codeforces
vectors
Gym
100203D
hdu5386Cover六校(
想法题
)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5386CoverTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):724 AcceptedSubmission(s):242SpecialJudgeProblem
sinat_30126425
·
2015-08-14 18:00
HDU
六校
Codeforces 559B Equivalent Strings
想法题
题目大意:就是根据题目中给出的定义判断两个串是否相同大致思路:....前来补好久之前没补的题....当时这个题比赛的时候直接递归根据定义用Hash判断的然后TLE了....好吧毕竟不是正解这个题的正确做法是每次将串分成两半按照字典序排序,这样递归回溯排好之后,如果两个串根据题目中的定义是相同的话,那么这样做之后一定会使得两个串相同并且时间复杂度也是严格意义上的O(nlogn)代码如下:Result
u013738743
·
2015-08-14 12:00
codeforces
strings
equivalent
559B
hdu 5386 Cover(暴力求解+
想法题
)
题意:有两种操作:操作Lxy,把当前x,这一列全部置为y操作Hxy,把当前,这一行全部置为y。现在给你n∗n的初始矩阵,以及n∗n的目标矩阵现在给你m种操作(由以上两种操作构成),问怎么排序这m种操作,才能使得,初始矩阵,经由排序后的操作,构成目标矩阵。输出排序方案。解析:逆向思维,枚举每个操作,然后判断该操作是不是最后一个操作。(就像撕胶布一样,一条一条的剥离)判断是否是最后一个操作方法就是:除
HelloWorld10086
·
2015-08-13 23:36
想法题
hdu 5386 Cover(暴力求解+
想法题
)
题意:有两种操作:操作Lxy,把当前x,这一列全部置为y操作Hxy,把当前,这一行全部置为y。现在给你n∗n的初始矩阵,以及n∗n的目标矩阵现在给你m种操作(由以上两种操作构成),问怎么排序这m种操作,才能使得,初始矩阵,经由排序后的操作,构成目标矩阵。输出排序方案。解析:逆向思维,枚举每个操作,然后判断该操作是不是最后一个操作。(就像撕胶布一样,一条一条的剥离)判断是否是最后一个操作方法就是:除
HelloWorld10086
·
2015-08-13 23:00
HDU
5386
1852poj
想法题
,用来换换脑筋。。
wang57389675
·
2015-08-09 22:00
ACM_
暑期计划——第二天
9:00,今天要开始了。10:09,昨天晚上23:00睡,现在补做了昨天第四道。#206(div.2)C很好的dp,不难。前半小时在东看西看,后半小时效率不错。11:00,正在攻克#261(Div.2)C,应该是个组合的题,感觉有点难啊。。效率:还好11:30,聊天。。然后现在去吃饭了。12:05,吃饭归来,准备做题13:00,左看右看,什么也没做。。有点想睡觉了。。14:01,小睡了会儿,无聊中
jxust_tj
·
2015-07-17 09:00
ACM_
暑期计划 —— 第一天
7:06,现在已经开始计划了。8:00,一开始看547A,感觉太难放弃了。然后正在看547B,中间还睡了十几分钟。效率:很低下,想睡觉==9:00,决定睡了三十多分钟,然后现在正在看547B题。效率:一般。此时一位学弟告诉我因身体原因要退了,把书还给了我(得知患过骨癌。平时还是注意过他,挺认真,经常最后一个走出实验室,会认真询问我问题,觉得人还是不错的,祝好运。。遗憾最后没有提醒他注意身体才是最重
jxust_tj
·
2015-07-16 07:00
暑期计划
ACM_
暑期计划
这几天在学校刷题,但是状态不是很好,与放假前的想法完全有点背离了。然后这两天有感冒了,更是状态下滑,一天好像都没写出一两道。。。今天和张引还有苟继承一起出去买了个大西瓜,吃起来还是挺不错的~不过一下就饱啦~~哈哈哈哈~看着电脑屏幕,突然想到了一件事情——退役,在打完区域赛后就不玩了。说是突然,但也许早就在脑海深处想过了吧。想想自己参加ACM已经一年多了,感觉好久啊。。。退役的主要原因是因为:自己在
jxust_tj
·
2015-07-15 22:00
暑期计划
最后时刻
POJ 2586
//这是一道贪心题,也是一道
想法题
,想法到位就做的出来//#includeintmain(){ longlongs,d; while(scanf("%lld%lld",&s,&d)!
zyx520ytt
·
2015-07-11 14:00
UVA 1450 Airport(二分+
想法题
)
题意:有一个飞机场,有两条待飞跑到w和e,一条起飞跑道,每一时刻只能起飞一架飞机,然后有w[i]和e[i]架飞机进入w和e跑道,飞机编号从0开始,问说如何安排起飞可以使得飞机编号的最大值最小。解析:由于是最大值最小化问题,所以要用到二分求解。二分枚举最大值limit判断该最大值是否满足题目所给的条件。这题看来别人的代码理解了好久,感觉这题充满了技巧。设have表示的是当前时刻先不发送飞机,预留下空
HelloWorld10086
·
2015-04-14 19:00
uva
1450
codeforces 3C Tic-tac-toe (
想法题
)
题意:三连棋游戏,给出棋盘上的情况,判断是否合法,若合法,判断谁获胜或者当前该谁下。(先手为X,后手为0,是数字0不是字母O!) 此题需考虑全面。首先考虑不合法的情况,有如下4种:1、X的数量少于0的数量。2、X的数量-0的数量>1。3、X数量等于0的数量,而此时存在三个X相连(即先手获胜)。这是不可能的,因为先手下子之后,X的数量必然多于0的数量,不可能相等。4、X的数量大于0的数量,而此时存在
u014679804
·
2015-03-31 12:00
Codeforces 197A Plate game
纯粹的
想法题
啊!!!一个面积为a*b的矩形,两个人轮流往里面摆放半径为r的圆,不能重叠,轮到谁不能摆放时,另一方就赢了。输出胜者。只有两种情况。。。。。。。当矩形较短边长小于圆直径时,第一个人无法放。
u014679804
·
2015-03-22 22:00
UVA-10881 Piotr's Ants (
想法题
)
题目大意:一根长L厘米的木棍上有n只蚂蚁,每只蚂蚁有个开始的位置和爬行方向,速度为1.当两只蚂蚁相撞后,两者同时掉头继续爬行,求按输入顺序给出每只蚂蚁T秒后的位置后朝向。思路:1.每只蚂蚁相撞后同时掉头可以看做对穿而过,关键的问题就在于求位置的变化。2.因为当两只蚂蚁相撞后,两者同时掉头继续爬行,所以最终所有的蚂蚁相对位置并没有变化,改变的只是朝向。#include #include #inclu
HelloWorld10086
·
2015-02-04 21:00
uva
10881
hdoj 4786 Fibonacci Tree 【生成树+想法】
分析:这是个
想法题
目,前提是知道生成树的定义:生成树必须是所有点都在树中那么既然要是斐波那契数,我只要把白色边的最大个数和最小个数求出来,如果这个范围内有斐波那契数的话,那么就满足条件。
y990041769
·
2014-10-16 21:00
Algorithm
poj
图论
并查集
生成树
Sum nyoj 欧拉定理简单运用(数论入门)
给你一个数N,使得在1~N之间能够找到x使得x满足gcd(x, N )>=M,求解gcd(x,N)的和输入多组测试数据每行输出两个数N,M(N,M不超int)输出输出sum样例输入53样例输出5上传者
ACM
u012349696
·
2014-10-13 19:00
数学
The 2014 ACM-ICPC Asia Mudanjiang Regional Contest 【部分题解】
2014牡丹江亚洲区域赛邀请赛B题:图论题目题解:这里K题:
想法题
分析:两种变化,添加和交换,首先:星号是n的话最少需要的数字是n+1,那么可以首先判断数字够不够,不够的话现在最前面添数字,如果满足的话直接模拟如果数字不够的话把当前的星号和最后一个数字交换即可
y990041769
·
2014-10-12 13:00
位运算
网络
亚洲
ACM-ICPC
牡丹江
Codeforces 385 C Bear and Prime Numbers
题目链接~~>做题感悟:这题属于
想法题
,比赛时直接做的D题,但是处理坐标处理的头晕眼花的结果到最后也没AC。
u011074149
·
2014-10-02 16:00
Codeforces 466 D. Increase Sequence
一道不错的
想法题
。。。。。
u012797220
·
2014-09-15 14:00
2014多校联合十(HDU 4972 HDU 4973 HDU 4974 HDU 4975)
HDU4972Asimpledynamicprogrammingproblem题意:篮球比赛有1、2、3分球 现给出两队的分差序列(5:3分差2 3:5分差也是2) 问有多少种可能的比分思路:比较简单的
想法题
u013351160
·
2014-08-26 15:00
数据结构
想法
HDU
HDU 2203 亲和串 (
想法题
,字符串处理)
给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2是s1的亲和串。S1+S1后进行查找即可#include #include #include #include #include usingnamespacestd; intmain() { strings1,s2; while(cin>>s1) { cin>>s2; s1=s1+s1; intans=s1.f
Matrix_Reloaded
·
2014-06-18 17:00
poj 3150 Cellular Automaton
分类:
ACM_
数学-矩阵快速幂2013-08-3114:40 318人阅读 评论(0) 收藏 举报点击打开poj3150思路:矩阵快速幂分析:1题目给定n个数每个数在0~m-1之内,题目规定两个数之间的距离为
pi9nc
·
2014-05-30 09:00
ACM_数学-矩阵快速幂
CC Arithmetic Progressions (FFT + 分块处理)
分类:
ACM_
数学类2013-07-2521:27 505人阅读 评论(0) 收藏 举报转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?
pi9nc
·
2014-05-29 22:00
ACM_数学类
HDU 4605 Magic Ball Game (在线主席树|| 离线 线段树)
分类:
ACM_
数据结构2013-07-2421:45 833人阅读 评论(0) 收藏 举报转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?
pi9nc
·
2014-05-29 22:00
ACM_数据结构
Ural 1519. Formula 1 优美的插头DP
分类: ACM_Ural
ACM_
插头DP2013-08-0320:45 333人阅读 评论(0) 收藏 举报今天早上学了插头DP的思想和最基础的应用,中午就开始敲了,岐哥说第一次写不要看别人代码,利用自己的理解一点点得写出来
pi9nc
·
2014-05-29 22:00
ACM_Ural
ACM_插头DP
生成树相关问题
生成树相关问题分类:
ACM_
图论2013-10-1419:23 334人阅读 评论(0) 收藏 举报做到了好几题关于生成树相关的题目,总结一下,很多题目都是以下的变形。
pi9nc
·
2014-05-22 19:00
ACM_图论
CodeForces 23B Party (简单题)
题目类型
想法题
题目意思现在派对中有n个人(1 #include #include #include #include #include #include #include usingnamespacestd
Yunyouxi
·
2014-04-18 12:00
codeforces
想法题
CodeForces 23C Oranges and Apples (简单题)
题目类型
想法题
题目意思输入一个n(n=a6a5>=a4a3>=a2a1>=0)即a1+a3+a5+a7>=Suma/2那么如果b1+b3+b5+b7>=Sumb/2显然结果为1357(橘子和苹果都满足条件了
Yunyouxi
·
2014-04-17 22:00
codeforces
想法题
CF 86D Powerful array 分块算法入门,n*sqrt(n)
分类:
ACM_
数据结构 Codeforces_problem2013-08-1819:31 465人阅读 评论(2) 收藏 举报分块算法简介:分块算法主要是把区间划分成sqrt(n)块,从而降低暴力的复杂度
pi9nc
·
2014-04-08 19:00
ACM_数据结构
十字链表(写的很漂亮呀!)
分类:
ACM_
数据结构基础2012-10-1821:15 403人阅读 评论(2) 收藏 举报nullstructsystemlist[cpp] viewplaincopy#include #include
pi9nc
·
2014-04-08 10:00
ACM_数据结构基础
URAL 1826 Minefield
题目链接:URAL1826Minefield算是个
想法题
吧,问了别人才做出来。考虑每次先把最大的两个移过去,当人数大于等于4的时候,分两种情况,1:最小的来回几次把最大的两个带过去。
fobdddf
·
2014-04-04 16:00
Codeforces Round #218 (Div. 2) / 371B Fox Dividing Cheese (
想法题
)
http://codeforces.com/contest/371/problem/B神题必有神解——你能想到这么做吗?首先我们盲目地对一个数进行除法操作,直到无法被2/3/5整除。再利用另一个数进行“回滚”。(这个词来自对程序更新/安装中出现错误,返回上一次正确状态的行为的形象描述。)代码如下:/*15ms,0KB*/ #include usingnamespacestd; intmain(
synapse7
·
2014-03-12 12:00
C++
ACM
codeforces
POJ 2184 Cow Exhibition (
想法题
&双变量0-1背包)
http://poj.org/problem?id=2184dp[s]表示当TS=s时,TF的最大值。背包容量?——我们要找到它的最大值,不断分开累加正s和负s即可。if(s>0) { for(j=Max;j>=Min;--j) dp[j+s]=max(dp[j+s],dp[j]+f);///dp[s]表示当TS=s时,TF的最大值 Max+=s; } else { if(f #include #
synapse7
·
2014-02-20 09:00
C++
ACM
poj
背包
HDU 2955 Robberies (
想法题
&0-1背包)
http://acm.hdu.edu.cn/showproblem.php?pid=2955如何变形呢??int_01pack(intn,intmaxw) { memset(dp,0,sizeof(dp)); dp[0]=1.0;///初始化这个 inti,j; for(i=0;i=w[i];--j)///maxw为所有银行的钱的总和 dp[j]=max(dp[j],dp[j-w[i]]*v[i]
synapse7
·
2014-02-20 06:00
C++
ACM
背包
HDU
UVa 11235 / POJ 3368 Frequent values (
想法题
&RMQ线段树维护最长区间长度)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=501&page=show_problem&problem=2176http://poj.org/problem?id=3368思路:由于序列是非降的,把相同元素视作一个区间,然后统计出每个区间的左端点left和右端点right,再用线段树维护
synapse7
·
2014-02-19 12:00
C++
线段树
ACM
poj
RMQ
POJ 2828 Buy Tickets (
想法题
&后序插入&线段树下的二分查找)
http://poj.org/problem?id=2828真是一道神题,朱泽园神牛出的。首先用链表写的话常数太大(cache命中率太低了),会导致超时。那怎么做?注意到最后一个人的位置是确定的,再前一个人呢?他的位置即是空位的编号(对于第二组数据,倒数第二个人要在第1+1个空位,即第三个位置)那我们怎么找到空位的编号呢?用线段树维护区间的空位数,对于某人的所要插入的位置(或者说空位编号),二分这
synapse7
·
2014-02-18 17:00
C++
线段树
ACM
poj
POJ 2352 Stars (线段树&
想法题
)
http://poj.org/problem?id=2352每读一个点(x,y),先查询区间[0,x]上有多少个点,然后把位置x上星星的数目+1完整代码:/*438ms,696KB*/ #include #definelsonl,m,rt>1; if(p>1; if(ql<=m)sum+=query(ql,qr,lson); if(m
synapse7
·
2014-02-18 14:00
C++
线段树
ACM
poj
RMQ
hdu1525 Euclid's Game 博弈
这题算是个
想法题
吧,给两个数a,b,两个人轮流行动,每次操作可以把大的数减去小的数的k倍(不能减成负的),先得到0的胜利。
yanglei040
·
2014-02-16 06:00
UVa 12400 - 3, 2, 1, 0 (数学
想法题
&高精度 or 打表)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=3831思路:按照这个思路,其实这个序列是唯一的,如下:(1000位数,打表代码见文章最后)32332323232222332223232223223222223323222323323
synapse7
·
2014-02-12 21:00
C++
ACM
uva
想法题
SWERC 2011 / HDU 4196 Remoteland (数论&
想法题
)
RemotelandTimeLimit:10000/5000MS(Java/Others) MemoryLimit:262144/131072K(Java/Others)http://acm.hdu.edu.cn/showproblem.php?pid=4196思路:显然取n!是最大的,但这不一定是一个完全平方数,需要把多余的部分除掉。可以利用勒让德定理很快处理出n!所有素因子的指数,偶数保
synapse7
·
2014-01-13 20:00
C++
数论
ACM
HDU
UVa 12502 Three Families (
想法题
)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=3946哈哈。考想法的一道题。首先注意到这句话:Youmayassumebothfamilieswerecleaningatthesamespeed.所以按理来说,(样例1中)本应该周末
synapse7
·
2013-12-03 19:00
C++
ACM
uva
UVa 12036 Stable Grid (
想法题
)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=3187表示想复杂了。。其实只要统计是否有一个数字出现大于n次就no啊orz完整代码:/*0.042s*/ #include #include intcnt[105],n; boo
synapse7
·
2013-12-03 18:00
C++
ACM
uva
BNU 4208 Bubble sort (
想法题
)
http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=4208注意题目是让求趟数,所以比较原序列与排序后序列中位置相差最大的就是答案。PS:也可以用反序表来思考。参见《计算机程序设计艺术》第三卷5.1.1完整代码:/*136ms,1408KB*/ #include #include usingnamespacestd; inta[10005],Map
synapse7
·
2013-12-03 08:00
C++
ACM
BNU
UVa 12004 Bubble Sort (
想法题
)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3155枚举交换次数算期望太麻烦,不妨换个思路:对于任意一对数字,它们之间发生交换的概率和不交换的概率是相等的,那这对数字提供的期望值就为1/2。总共有C(n,2)对数字,所以最终的期望值就为n*(n-1)/4
synapse7
·
2013-12-03 08:00
C++
ACM
uva
BNU 24192 Fruit Ninja (
想法题
)
http://www.bnuoj.com/contest/problem_show.php?pid=24192(原题是UESTC的,但是改版后此题不见了。。_(:3」∠)_)思路:这道题目的突破口在于以下两点:1.m,n都很小:1 intmain() { intT,n,m,cas=1,max; scanf("%d",&T); for(;casmax)max=10000+m; printf("%d
synapse7
·
2013-12-01 00:00
C++
ACM
BNU
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他