标题效果:鉴于m整数,之前存在的所有因素t素数.问:有多少子集.他们的产品是数量的平方. 解题思路: 全然平方数就是要求每一个质因子的指数是偶数次. 对每一个质因子建立一个方程. 变成模2的线性方程组. 求解这个方程组有多少个自由变元.答案就是 2^p - 1 .(-1是去掉空集的情况) 注意因为2^p会超出数据范围所以还须要用高精度算法. 200. Cracking RSA time limit per test: 0.25 sec. memory limit per test: 65536…
时间限制:0.25s 空间限制:4M 题意: 给出了m(<100)个数,这m个数的质因子都是前t(<100)个质数构成的. 问有多少个这m个数的子集,使得他们的乘积是完全平方数. Solution: 要使乘积为完全平方数,那么对于乘积的每个质因子的个数要为偶数. 可以先打出前100个质数,来看第i个质数Pi,对于第j个数Kj,如果它含有奇数个质数Pi,那么矩阵A[i][j]的值为1,显然增广矩阵的值应该全为0. 这样就构造出了一个n*m的xor方程组. 利用高斯消元求出变元的个数power 那…
题意:给你m个数(m<=100),每个数的素因子仅来自于前t(t<=100)个素数,问这m个数的非空子集里,满足子集里的数的积为完全平方数的有多少个. 一开始就想进去里典型的dp世界观里,dp[n][mask]表示前n个数里为mask的有多少个,但显然这里t太大了.然后又YY了很多很多.像m少的时候应该用的是高消.即对每个因子列一个xor方程,然后高斯消元,其中自由元的个数就是可以随便取的,所以答案是2^(自由元个数),然后把空集的减掉,就是2^(自由元)-1,不过大数是必须的. #inclu…
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意:给出m个整理,因子全部为前t个素数.问有多少个子集,乘积是平方数 http://acm.sgu.ru/problem.php?contest=0&problem=200 做法:列方程组,a1,a2,a3……am分别表示bi是否在集合中.对于每一个素因子,建立异或方程组,要求因子个数为偶数,即异或为0. 子集个数便是解的个数,高斯消元后求出变元…
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=200 200. Cracking RSA time limit per test: 0.25 sec.memory limit per test: 65536 KB input: standardoutput: standard The following problem is somehow related to the final stage of many famous intege…
原文链接https://www.cnblogs.com/zhouzhendong/p/HDU2449.html 题目传送门 - HDU2449 题意 高精度高斯消元. 输入 $n$ 个 $n$ 元方程. $n\leq 100$ 注:本题对输入数值大小貌似没有说明限制. 题解 高精度高斯消元啊,去写.去写.写写写写写写写写写写写写写写写写写写!! 然后就可以写出来了. 下面讲故事. 那是 2017 年 7 月. 呀!高精度高斯消元裸题! 当时还不会 FFT . 去年暑假花了一个星期的零碎时间搞了一…
题意: 有n(<200)个格子,只有黑白两种颜色.可以通过操作一个格子改变它和其它一些格子的颜色.给出改变的关系和n个格子的初始颜色,输出一种操作方案使所有格子的颜色相同. Solution: 很显然的高斯消元. 这里采用了类似SGU275的方法做. /* 解异或方程组 */ #include <iostream> #include <bitset> #include <cstring> using namespace std; ; bitset<N>…
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=275 这是一道xor高斯消元. 题目大意是给了n个数,然后任取几个数,让他们xor和最大. 首先根据题目意思可以列出下列方程组: //a11x1+a21x2……=d[1] //a12x1+a22x2……=d[2] //... (每个数二进制按列来写,xi为0或1,表示取或不取这个数.) 结果的二进制即为d数组. 由于需要结果最大,而结果最多是d全为1,那么就假设所有d均为1,然后进行高斯消…
275. To xor or not to xor   The sequence of non-negative integers A1, A2, ..., AN is given. You are to find some subsequence Ai 1, Ai 2, ..., Ai k (1 <= i 1 < i 2 < ... < i k<= N) such, that Ai 1 XOR Ai 2 XOR ... XOR Ai k has a maximum valu…
题目链接 题意:有n个数,范围是[0, 10^18],n最大为100,找出若干个数使它们异或的值最大并输出这个最大值. 分析: 一道高斯消元的好题/ 我们把每个数用二进制表示,要使得最后的异或值最大,就是要让高位尽量为1,高位能不能为1就必须用高斯消元判断了. 1. 根据数的二进制表示,建立方程组的矩阵,结果那列置为1.2. 从下往上高斯消元(高位放下面),如果该行有未被控制的变元,则该行的结果一定为1,且该变元控制该行.3. 从该行往上依次消掉(异或)该变元.4. 如果该行没有可以用来控制的变…
题意: 从n个数中选若干个数,使它们的异或和最大.n<=100 Solution 经典的异或高斯消元. //O(60*n) #include <iostream> using namespace std; int n; ]; int main() { ios::sync_with_stdio(); cin >> n; ; ; i <= n; ++i) cin >> a[i]; ; i >= ; --i) { ; j <= n; ++j) { if…
转载自:http://hi.baidu.com/czyuan_acm/item/dce4e6f8a8c45f13d7ff8cda czyuan 先上模板: /* 用于求整数解得方程组. */ #include <iostream> #include <string> #include <cmath> using namespace std; ; int equ, var; // 有equ个方程,var个变元.增广阵行数为equ, 分别为0到equ - 1,列数为var…
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4870 原题: Rating Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 654    Accepted Submission(s): 415 Special Judge Problem Description    A little…
HDU 4870   Rating 这是前几天多校的题目,高了好久突然听旁边的大神推出来说是可以用高斯消元,一直喊着赶快敲模板,对于从来没有接触过高斯消元的我来说根本就是一头雾水,无赖之下这几天做DP,正好又做到了这个题,没办法得从头开始看,后来在网上找了别人的高斯消元的模板后发现其实也还是很好理解,就是先构造一个增广矩阵,然后化行阶梯形,最后迭代求解 首先有一个介绍高斯消元感觉过于详细的博客http://blog.csdn.net/tsaid/article/details/7329301 首…
Description Morenan被困在了一个迷宫里.迷宫可以视为N个点M条边的有向图,其中Morenan处于起点S,迷宫的终点设为T.可惜的是,Morenan非常的脑小,他只会从一个点出发随机沿着一条从该点出发的有向边,到达另一个点.这样,Morenan走的步数可能很长,也可能是无限,更可能到不了终点.若到不了终点,则步数视为无穷大.但你必须想方设法求出Morenan所走步数的期望值. Input 第1行4个整数,N,M,S,T 第[2, M+1]行每行两个整数o1, o2,表示有一条从o…
数据范围太大不能直接高斯消元, tarjan缩点然后按拓扑逆序对每个强连通分量高斯消元就可以了. E(u) = 1 + Σ E(v) / degree(u) 对拍时发现网上2个程序的INF判断和我不一样(他们2个的INF判断也不一样).....然而都A掉了....我觉得应该是他们写错了,我的做法应该没错的(正反2遍dfs,GDOI2015day1t1大冒险)(求打脸 -----------------------------------------------------------------…
目录 题目链接 题解 题目链接 luogu P2962 [USACO09NOV]灯Lights 题解 可以折半搜索 map合并 复杂度 2^(n / 2)*logn 高斯消元后得到每个点的翻转状态 爆搜自由元得到最优翻转状态 // luogu-judger-enable-o2 #include<map> #include<queue> #include<cstdio> #include<cstring> #include<algorithm> u…
[BZOJ1444][JSOI2009]有趣的游戏(高斯消元,AC自动机) 题面 BZOJ 题解 先把\(AC\)自动机构建出来,最好构成\(Trie\)图.然后这样子显然是在一个有向图中有一堆概率的转移,并且存在环,所以高斯消元解决. #include<iostream> #include<cstdio> #include<queue> using namespace std; struct Node{int son[26],fail,lst;}t[500]; int…
高斯消元 + bitset 简介: 高斯消元其实就是以加减消元为核心求唯一解.这道题还是比较裸的,可以快速判断出来.我们将每一只虫子看作一个未知数,这样根据它给出的 m 组方程我们可以高斯消元得出每一只虫子的归属地.如果你还不清楚高斯消元的原理可以移步此处 如果你只是以为这是一道板子题自信提交,那么恭喜你,你将会获得TLE的好成绩.为什么呢?我们知道高斯消元是 \(n^3\) 复杂度的,而本题数据范围 $ n \leq 1000\(,\) m \leq 2000$,明显会卡出TLE. 于是乎,b…
题意:  一个人在一条线段来回走(遇到线段端点就转变方向),现在他从起点出发,并有一个初始方向, 每次都可以走1, 2, 3 ..... m步,都有对应着一个概率.问你他走到终点的概率 思路: 方向问题很是问题,我们可以把线段改造成环,具体我们可以把除端点以外的点作为另一个半圆 和原来的线段拼成一个环, 方向就单一了,用dp[i]表示在i点的时候到达终点的期望步数,则dp[i]=dp[(i+1)%N]*p1+E[(i+2)%N]*p2+…E[(i+m)%N]*pm+1. 这里N为变成环以后的点数…
[BZOJ2707][SDOI2012]走迷宫 Description Morenan被困在了一个迷宫里.迷宫可以视为N个点M条边的有向图,其中Morenan处于起点S,迷宫的终点设为T.可惜的是,Morenan非常的脑小,他只会从一个点出发随机沿着一条从该点出发的有向边,到达另一个点.这样,Morenan走的步数可能很长,也可能是无限,更可能到不了终点.若到不了终点,则步数视为无穷大.但你必须想方设法求出Morenan所走步数的期望值. Input 第1行4个整数,N,M,S,T 第[2, M…
题目链接  2014 多校1 Problem J 题意  现在有两个账号,初始$rating$都为$0$,现在每次打分比较低的那个,如果进前$200$那么就涨$50$分,否则跌$100$分.   每一次打进前$200$的概率为$p$,且每一次竞赛是相互独立的.求当一个号打到$1000$分时已经打的期望场数. 把$1000$变成$20$,并且分析出所有有效的状态. 有效的状态一共$211$个. $(0, 0)$ $(1, 0), (1, 1)$ $(2, 0), (2, 1), (2, 2)$ .…
题目链接 唉我个ZZ…… 首先考虑到异或是可以每一位分开算的 好的以后再碰见位运算题我一定先往按位开车上想 然后设f[i]为从i点出发到终点是1的概率 高斯消元解方程组即可. #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> #include<cstdlib> #include<cmath> #include<bitset> #d…
Rating Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 872    Accepted Submission(s): 545Special Judge Problem Description A little girl loves programming competition very much. Recently, she h…
题目 Morenan被困在了一个迷宫里.迷宫可以视为N个点M条边的有向图,其中Morenan处于起点S,迷宫的终点设为T.可惜的是,Morenan非常的脑小,他只会从一个点出发随机沿着一条从该点出发的有向边,到达另一个点.这样,Morenan走的步数可能很长,也可能是无限,更可能到不了终点.若到不了终点,则步数视为无穷大.但你必须想方设法求出Morenan所走步数的期望值. 输入格式 第1行4个整数,N,M,S,T 第[2, M+1]行每行两个整数o1, o2,表示有一条从o1到o2的边. 输出…
UVA 1397 - The Teacher's Side of Math 题目链接 题意:给定一个x=a1/m+b1/n.求原方程组 思路:因为m*n最多20,全部最高项仅仅有20.然后能够把每一个此项拆分.之后得到n种不同无理数,每一项为0.就能够设系数为变元.构造方程进行高斯消元 一開始用longlong爆了.换成分数写法也爆了,又不想改高精度.最后是机智的用了double型过的,只是用double精度问题,所以高斯消元的姿势要正确,而且最后输出要注意-0的情况 代码: #include…
Rating Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 213 Accepted Submission(s): 126 Special Judge Problem Description A little girl loves programming competition very much. Recently, she has f…
题目传送门(内部题70) 输入格式 第一行一个正整数$n$,表示炼金术士已知的热化学方程式数量.接下来$n$行,每行一个炼金术士已知的热化学方程式.最后一行一个炼金术士想要求解的热化学方程式,末尾记为$H=?$.每个热化学方程式都是规范的,格式如下:$a\ W\ +\ b\ X\ +\ ...\ =\ c\ Y\ +\ d\ Z\ ...\ H=\ h$表示$a$单位的$W$.$b$单位的$X$与......反应生成了$c$单位的$Y$.$d$单位的$Z$和......,吸收$h$/放出$-h$…
最近在搞高斯消元,反正这些题要么是我击败了它们,要么就是这些题把我给击败了.现在高斯消元专题部分还有很多题,先把几道很简单的入门题总结一下吧. 专题:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29538#overview 专题地址来源于kuangbin大神,多谢kuangbin大神总结的高斯消元的模板,菜鸟在此谢过啊. POJ1222:http://poj.org/problem?id=1222 题意是有5行六列30个开关,然后每…
考虑40分. 设出状态 f[i]表示匹配到了i位还有多少期望长度能停止.可以发现这个状态有环 需要高斯消元. 提供一种比较简单的方法:由于期望的线性可加性 可以设状态f[i]表示由匹配到i到匹配到i+1需要的期望长度. 需要预处理前缀和和KMP的nex数组来辅助转移. if(n==1) { gc(a); len=strlen(a+1); ll j=0; memset(nex,0,sizeof(nex)); rep(2,len,i) { while(j&&a[i]!=a[j+1])j=nex…