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
Necklace
【SDOI2013
necklace
】项链
Description(JZOJ3298)有一个n颗珠子组成的项链每颗珠子有3个面,可以写3个数字,数字的范围(0,a],两颗珠子是相同的当且仅当他们可以通过旋转变成一样每颗珠子上的三个数的最大公约数必须等于1相邻两颗珠子必须不同如果两串项链可以通过旋转变成一样的,我们认为这两串项链相同。给定n和a,求有多少不同的项链?答案对1000000007取模。DataConstraint对于10的数据:n
ChrysanthemumZhao
·
2016-02-22 21:44
题解
【SDOI2013
necklace
】项链
Description(JZOJ3298)有一个n颗珠子组成的项链每颗珠子有3个面,可以写3个数字,数字的范围(0,a],两颗珠子是相同的当且仅当他们可以通过旋转变成一样每颗珠子上的三个数的最大公约数必须等于1相邻两颗珠子必须不同如果两串项链可以通过旋转变成一样的,我们认为这两串项链相同。给定n和a,求有多少不同的项链?答案对1000000007取模。DataConstraint对于10的数据:n
ChrysanthemumZhao
·
2016-02-22 21:00
Math
Uva10054 The
Necklace
Uva10054 欧拉回路题意:给n个珠子,每个珠子的两端的颜色不同。问能否组成一条项链,两颗相邻的珠子相邻的两端颜色相同。思路:把颜色看做点。珠子看做边。每一个珠子在两种颜色之间连边。无向图中任意一点的度数都为偶数,则该图具有欧拉回路。然后通过euler函数来输出即可。/* ID:onlyazh1 LANG:C++ TASK:TheNecklace */ #include #incl
onlyAzha
·
2016-02-20 17:00
POJ 1286
Necklace
of Beads
人生第一道polya(玻璃呀!)定理。搞了一个上午的群论,唯一看懂的就是伽罗华很会作……你说你一个搞数学的,怎么就喜欢革命呢。唯一的遗憾就是过分追求简洁hhhhhhhhhh这评价真是十分中肯啊。好了不扯了,反正玻璃呀定理就是用来求染色数的,具体的请任意翻开一本组合数学教材,或者跟我一样(安利一下)找学堂在线的课看去。显然我们可以发现对序列(1,2,3,......n)做i次轮换出来的置换可以被分解
nlj1999
·
2016-02-18 14:00
UVA 10054 - The
Necklace
(欧拉回路)
题目链接:点击打开链接题意:n个珠子,每个珠子的两半由不同的颜色组成。只有相同的颜色才能接在一起,问能否组成一个一个项链。思路:如果将一个珠子看成是一条连接两个顶点的无向边,那么本题就变成了求无向图是否存在欧拉回路。 对于无向图,如果所有点的度数都是偶数并且图是联通的,那么就存在欧拉回路。 那么从任意一个点开始走都将走完所有道路并回到起点。细节参见代码:#include #include #inc
weizhuwyzc000
·
2016-02-09 21:00
DFS
uva
欧拉回路
HDU 3091
Necklace
(状态压缩dp)
NecklaceTimeLimit:2000/1000MS(Java/Others) MemoryLimit:327680/327680K(Java/Others)TotalSubmission(s):658 AcceptedSubmission(s):217ProblemDescriptionOneday,Partychengetsseveralbeads,hewantstomake
dml_96
·
2016-01-28 18:00
第一周 1.17-1.23
1.17CF614E
Necklace
类似于函数图像有两条对称轴必然是周期的。如果循环次数是奇数每一循环节都要是回文把奇数的放中间偶数放两边(所以奇数的不止1个就无解)。
Aguin
·
2016-01-17 00:00
【bzoj1398】Vijos1382寻找主人
Necklace
最小表示法
这道题只需要把原串复制一遍,然后拿另一个串去匹配就可以了。但是作死学了下最小表示法。http://wenku.baidu.com/link?url=disErIxplfqlFvdZy2Zy3q7FO0hYvLBqy0rFbLe93vJfNSJM5BIh4Mh3eWq0a2NPJo-09kbvFPMgyVJ07BPyNQGiw8QPCWrtPYi-RyrULDK最小表示法是判断两个字符串是否循环同构
u012288458
·
2016-01-03 20:00
UVA-10054 The
Necklace
分析:欧拉回路问题,无向图,只要判断每个节点度数是否全为偶数即可。但本题还多了一个打印路径问题,DFS从最后的那个节点遍历便可。#include #include intn,lujing[60][60]; voideuler(intm)//打印路径(紫书上有详细的) { inti; for(i=1;i0) { lujing[m][i]--;lujing[i][m]--; euler(i); pri
qq_32036091
·
2015-12-18 08:00
the
Neckl
UVA-10054
poj 1286
Necklace
of Beads
http://poj.org/problem?id=1286 polya burnside 难了不会 会了不难 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<map>
·
2015-11-13 12:16
poj
USACO Section 1.1: Broken
Necklace
1 /* 2 ID: leetcod3 3 PROG: beads 4 LANG: C++ 5 */ 6 #include <iostream> 7 #include <fstream> 8 #include <string> 9 #include <map> 10 #include <vector>
·
2015-11-13 11:58
USACO
hdu 3874
Necklace
(线段树)
这道题目和我之前做过的一道3xian大牛出的题目很像,不过总的来说还是要简单一点儿。 计算区间内的值的时候如果两个值相等,只能计算其中一个。 这道题需要将所有的问题输入之后再计算,首先,对所有问题的右边界进行排序。从左到有依次插入数组中的数据,并记录数据的位置,如果该数据之前记录过,在重新记录时需要将之前记录的数据修改为0。一边插入数据,一边还要比较i和记录的问题的右边界,如果i大于等于当前问
·
2015-11-13 07:26
HDU
HDU 3874
Necklace
树状数组
题意:求区间内不同的数的和 离线处理,按查询右端点从小到大排序,从左往右扫一遍。 记录每个数出现的上一个位置,如果该数之前没有出现过,就加上,否则就在上一个位置减去。 #include <cstdio> #include <cstring> #include <cstdlib> #include <algorith
·
2015-11-13 03:22
树状数组
HDU 3874
Necklace
http://acm.hdu.edu.cn/showproblem.php?pid=3874 今天和涂涂新学的离线算法,太牛了 大概就是先接收所有数据,然后按查询右边界排序,从左往右更新,遇到之前加过的数就删掉,因为按右边界排序,所以查询区间不断右移,删掉不会出错 View Code #include <iostream> #include <algorithm
·
2015-11-13 02:04
HDU
usaco1.1.4 Broken
Necklace
题解
【算法】模拟 【难度】★☆☆☆☆ 仍然是模拟,但要注意这个项链是环状的。有一种比较先进的办法是把这个项链载入两次,这样就可以从头到尾遍历了。注意白色的珠子不能作为起点。 我的程序没有用上面的方法,直接遍历到最后在返回开头。 View Code 1 /* 2 ID: wsc5001 3 LANG: C 4 TASK: beads 5 */ 6 #include<st
·
2015-11-13 02:23
USACO
USACO Section1.1 Broken
Necklace
解题报告
beads解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------------------------------------------------------------------------------------------【题目】 输入文
·
2015-11-13 01:54
USACO
USACO 1.1 Broken
Necklace
Broken
Necklace
You have a
necklace
of N red, white, or blue beads (3<=N<=350)
·
2015-11-13 00:03
USACO
HDOJ搜索专题之Accept
Necklace
题目大意:跟01背包模型有点像,区别在于01背包对选取的物品个数没有要求,而这题给出了选的个数。N最大为20,所以可以暴力过。 经测试N最大好像是21,定义成20会WA View Code 1 #include <stdio.h> 2 #define N 21 3 #define INF 0x7fffffff 4 int v[N],w[N],n,m,cnt,
·
2015-11-12 22:32
搜索
poj1286
Necklace
of Beads(ploya定理)
链接 这个东东是新知识 let's 从头学起吧 这篇文库讲的不错 至少把各种概念学了一遍 然后再看此题 共有两种类型的置换 一种是旋转之后相同算一种 一种是翻转之后相同算一种 对于旋转 共有N次置换 转1下到转N下 对于每一次的循环节 各大牛给出了结论 为gcd(n,i) 这个我也不会证 姑且记住吧 对于翻转 这个从图中可以看出来 找对称轴 分2种情况 if n
·
2015-11-12 21:30
poj
POJ 1286
Necklace
of Beads(Polya原理)
Description Beads of red, blue or green colors are connected together into a circular
necklace
of n
·
2015-11-12 21:49
poj
POJ 1286
Necklace
of Beads(Polya定理)
点我看题目 题意 :给你3个颜色的n个珠子,能组成多少不同形式的项链。 思路 :这个题分类就是polya定理,这个定理看起来真的是很麻烦啊T_T.......看了有个人写的不错: Polya定理: (1)设G是p个对象的一个置换群,用k种颜色突然这p个对象,若一种染色方案在群G的作用下变为另一种方案,则这 两个方案当作是同一种方案,这样的不同染色方案数为: ; (2)置换及循环节数的计
·
2015-11-12 13:33
poj
USACO1.1Broken
Necklace
Broken
Necklace
You have a
necklace
of N red, white, or blue beads (3<=N<=350) some of which
·
2015-11-12 09:10
USACO
[scu 4423]
Necklace
4423:
Necklace
Description baihacker bought a
necklace
for his wife on their wedding anniversary.
·
2015-11-11 19:25
sc
模拟/usaco 1.1.4 Broken
Necklace
题意 给你一个由r w b组成的字符串,这个串首位相接连成一个环 给出一个计算方法:选取这个环任意两个相邻元素的之间,由这个位置顺时针取连续相同元素,逆时针取连续相同元素,两个方向的元素可不同 求问能取到最大的数目 注:w可以被看作r,也可以被看作b 分析 方法1:模拟 关于环的处理:将这个环任意一个位置断开成一条链,然后复制出一条一模一样的接在这条链的后面,
·
2015-11-11 18:00
USACO
USACO1.1.4--Broken
Necklace
Broken
Necklace
You have a
necklace
of N red, white, or blue beads (3<=N<=350) some of which
·
2015-11-11 17:56
USACO
poj 1286
Necklace
of Beads 置换群polya计数
题目大意: 使用三种颜色珠子串成 一个n颗珠子的项链,项链旋转和翻转相同的视为同样方案,问有多少不同方案数 对于 群论中置换群的计算公式我们有 BurnSide 和 Polya 前者是找所有置换群,后者是找置换群循环因子,其两者公式也相差不远,因为 Polya计数 比较方便,所以通常使用 Polya公式 &nb
·
2015-11-11 17:46
poj
HDU 3874
Necklace
(离线算法+树状数组)
题目链接 离线算法,以前做过一个,非常神奇。 先把所有的区间,按Y排序,再按X排,然后算每一个区间,如果遇到了相同的就把前一个点更新一下-num[le],当前点插入。如果相同直接插入。再区间求和,记录结果。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #incl
·
2015-11-11 15:04
树状数组
HDU 2660 Accepted
Necklace
此题的大意就是要制作一条项链,这个项链必须用k块石头来制作,且重量不能超过W,问所能制作项链的最大价值。 此题数据很水,DFS完全暴力就能过。 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #define MAX(A,B) (A>B?A:B) 5 int n
·
2015-11-11 13:39
HDU
sdut 2153:Clockwise(第一届山东省省赛原题,计算几何+DP)
点这里^_^ 题目描述 Saya have a long
necklace
with N beads, and she signs the beads from 1 to N.
·
2015-11-11 11:27
Lock
POJ 1286
Necklace
of Beads(Polya计数原理)
题目链接 看着真痛苦啊,看组合数学上的东西看不懂。。。看了好多人的题解。。根本不懂为毛线是这样做。。。公式是肿么推导的。。。 PS:和外校的某牛交流了后,给我发了个PDF的程序设计中的组合数学,话说那本书是以前还看过,确实这本书上的例题更简单一点。。。 貌似这样的,这个公式G是代表可以置换的方式个数,如此题,可以转0个 1个 ...n-1,共n种可能,翻转也有n种置换方式,
·
2015-11-11 10:53
poj
DFS 专题 Accepted
Necklace
这道题如果用 DFS 必须剪枝:剪掉重复的组合。DFS 枚举了所有的排列,实际上这道题只需要组合。 View Code # include <cstdio> # include <cstring> # define N 20 + 5 int ans; int n, k, vMax, v[N], w[N]; bool vis[N]; voi
·
2015-11-11 07:19
DFS
USACO section1.1 Broken
Necklace
这道题理解了题目的含义就很简单了; 如果题目改成每次只统计一端,遇到不同时开始统计另一端,并且只有相邻两次统计的(可以转化)为同一种颜色时,才能累加,难度会很高,可能要DP了; /* PROG: beads LANG: C++ */ # include <cstdio> # include <cstring> # define N 350 + 10
·
2015-11-11 07:07
USACO
【HDU】3474
Necklace
1 #include<cstdio> 2 #include<algorithm> 3 using namespace std; 4 #define MAXN 2000010 5 char s[MAXN]; 6 int n,len,q[MAXN],sum[MAXN]; 7 bool ok[2][MAXN]; 8 void Read() 9 {
·
2015-11-11 07:33
HDU
poj 1286
Necklace
of Beads
这是做的第一道群论题,自然要很水又很裸。注意用long long。 就是用到了两个定理 burnside :不等价方案数=每个置换的不动置换方案数的和 / 置换个数 polya: 一个置换的不动置换方案数=k^(这个置换的循环个数)  
·
2015-11-09 13:20
poj
hdu 3091
Necklace
状态压缩dp *******
Necklace
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327680/327680 K
·
2015-11-08 15:13
HDU
*[hackerrank]Girlfriend &
Necklace
https://www.hackerrank.com/contests/w8/challenges/gneck 有点意思。是DP,最优解包含最优子问题。F(X)=F(X-1)+F(X-3)。因为F(X-1)右边放个“R”和F(X-3)右边放"RRB"是左右可以互推的,包含全了最右是R和B的两种情况。 #include <iostream> using nam
·
2015-11-08 13:59
rank
UVA 11255
Necklace
(Burnside引理)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2222 题意:有三种不同颜色的珠子,白(W颗),灰(G颗),黑(B颗), 其中3<=W+G+B<=40,问用这些珍珠可以串成多少种(W+G+B)长的不同的项链(
·
2015-11-08 11:25
ide
UVa 10054 The
Necklace
【欧拉回路】
题意:给出n个珠子,珠子颜色分为两半,分别用1到50之间的数字表示, 现在给出n个珠子分别的颜色,问是否能够串成一个环。即为首尾相连,成为一个回路 判断是否构成一个环,即判断是否为欧拉回路,只需要判断度数是不是偶数就可以了 (这道题目给出的珠子是在一个连通块上的,所以不用考虑连通) 然后输出结果要逆序输出,见这一篇,非常的详细 http://www.cnblogs.com/
·
2015-11-07 14:11
uva
hdu 3474
Necklace
单调队列
Necklace
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (
·
2015-11-07 13:07
HDU
Om Nom and
Necklace
:字符串
Om Nom and
Necklace
time limit per test 1 second memory limit per test 256 megabytes input
·
2015-11-07 12:55
codeforces
Necklace
of Beads--POJ 1286
1、题目类型:Polya定理、组合数学、置换群。 2、解题思路:Polya定理:(1)设G是p个对象的一个置换群,用k种颜色突然这p个对象,若一种染色方案在群G的作用下变为另一种方案,则这两个方案当作是同一种方案,这样的不同染色方案数为:; (2)置换及循环节数的计算方法:对于有n个位置的手镯,有n种旋转置换和n种翻转置换.  
·
2015-11-07 10:22
poj
USACO section 1.1 beads
Broken
Necklace
You have a
necklace
of N red, white, or blue beads (3<=N<=350) some of which
·
2015-11-03 22:11
USACO
Necklace
of Beads
http://poj.org/problem?id=1286 // File Name: poj1286.cpp // Author: bo_jwolf // Created Time: 2013年10月07日 星期一 21:31:08 #include<vector> #include<list> #include<map>
·
2015-11-02 19:18
ad
USACO Broken
Necklace
1. 算法:从一个节点开始,假如是r,如果下一个是r或者w,继续,一直到下一个为b为止,然后从b开始看下一个,如果是b或者w,继续,如果是r停止,处理“环”的问题,用了求余,可以使结尾的下一个变成第一个,但是要注意,最后结果不能大于n。 2. 这是O(n^2) 的复杂度吧。 /* ID: dollarzhaole PROG: beads LANG: C++ */ #include &
·
2015-11-02 18:00
USACO
HDU 3874
Necklace
区间查询的离线操作
题目: http://acm.hdu.edu.cn/showproblem.php?pid=3874 对需要查询的区间按右端点排序,然后从左到右依次加入序列中的元素,同时更新,更新的方法是,把上一次出现a[i]值的点变为0,这一次a[i]值的点(即 i)变为a[i],这样保证了前i个元素中只存在一个等于a[i]值得元素,那为什么这样不会影响后面的查询呢? 因为是处理到i点,则把右边界等于a[i
·
2015-11-02 16:15
HDU
poj 1286
Necklace
of Beads poj 2409 Let it Bead HDU 3923 Invoker <组合数学>
链接:http://poj.org/problem?id=1286 http://poj.org/problem?id=2409 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 #include <cmath> 5 #include <
·
2015-11-02 16:39
poj
poj 1286 &HDU 1817
Necklace
of Beads
这是一个比较赤裸的群论题目,只是对他进行分步计算就可以了: 首先是旋转计算;在进行对称计算,这时候我们要对它进行奇偶讨论,当为奇数是我们就以每个顶点与它的对边中点连线为对称轴,那么循环节为(n+1)/2; 当为偶数时:有两个种对称轴,一是以顶点连线,二是以边的中点连线,前者循环节为n/2,后者为n/2+1; View Code #include<iostream>
·
2015-11-02 15:03
poj
hdu 3874
Necklace
线段树单点更新区间求和
http://acm.hdu.edu.cn/showproblem.php?pid=3874 题意: 给你n个数,然后给出m个的询问[l,r]问[l,r]中不同的数的和为多少? 思路:单纯只考虑不同数的和的话,可能该数在之前出现过,后边又出现了,但是所求的区间不包括前边那个数,那么这个数就要被加进来。关键是如何维护该区间不包含重复计算同一个数。 首先我们离线处理所有询问,然后按r排序,然后
·
2015-11-02 11:50
HDU
pku 1286
Necklace
of Beads polya定理
http://poj.org/problem?id=1286 题意: 3种颜色对一个有n个顶点的圈着色,问有多少种不同的着色方法。对于通过旋转或者翻转得到的相同的着色视为一种; 思路: Polya定理 设有n个对象,G是这n个对象上的置换群,用m种颜色涂染这n个对象,每个对象涂染一种颜色,问有多少种染色方案?一种染色方案在群G的作用下变为另一种方案,
·
2015-11-02 11:22
pku
bzoj1789
Necklace
Y型项链
我们可以发现答案目标串即为某一个串的前缀,所以只要枚举前缀再计算两个串需要转移的距离即可 这种题目不要老往dp上想,要善于利用题目条件 1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<cstring> 5 using namesp
·
2015-11-02 10:21
ZOJ
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他