摘要: 题意 给定一个进制分数 求是否是循环小数,且求出循环节长度 题解 暴力 il int find(int p){ int head=last[p%mod]; while(head&&pr[head].p!=p)head=pr[head].next; if(!head)head=++siz; return head; } int main(){ ... 阅读全文
posted @ 2016-08-31 20:26 zhouyis 阅读(502) 评论(0) 推荐(0) 编辑
摘要: *明早起来再贴代码 A 【题意】 给定n*5的方格 将横向的相邻两个变成+输出 【题解】 。。。 B 【题意】 一个n*n的正整数矩阵,有且仅有一个数为0 ,在这个位置填上一个数,使得每一列的和 每一行的和 两条对角线各自的和都相等 输出这个数 【题解】sb题。暴力一下。注意细节,否则你就像这样 ( 阅读全文
posted @ 2016-08-29 22:16 zhouyis 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 求一个 的最小整数解 bsgs 当h是质数的时候使用 extbsgs 不满足上面那种情况的时候 具体参见http://tonyfang.is-programmer.com/posts/178997.html ll gcd(ll a,ll b) { return b?gcd(b,a%b):a; } ll bsgs(ll A,ll B,ll C) { ll m,v,e=... 阅读全文
posted @ 2016-08-28 14:16 zhouyis 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 给定一个左部分n个点,右m个点的完全二分图,求生成树个数 找规律:答案是 然后模数很大,要写个快速乘,快速乘就是快速幂的乘法变成加法 //快速乘 ll mul(ll m,ll n,ll mod){ ll ans=0; while(n){ if(n&1) ans=(ans+m)%mod; ... 阅读全文
posted @ 2016-08-28 11:44 zhouyis 阅读(2454) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分. 题解 我们目测一个dp方程 设f[i][j]表示i到j合并的最小(大)价值 那么 dp的时候按照区间长度递增来dp 首先最大值,根据单调性 肯定... 阅读全文
posted @ 2016-08-24 21:08 zhouyis 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 描述 在古老的皇宫中,有N个房间以及N-1条双向通道,每条通道连接着两个不同的房间,所有的房间都能互相到达。皇宫中有许多的宝物,所以需要若干个大内密探来守护。一个房间被守护当切仅当该房间内有一名大内密探或者与该房间直接相邻的房间内有大内密探。 现在身为大内密探零零七的你想知道要把整个皇宫守护好至少需要多少名大内密探以及有多少种安排密探的方案。两种方案不同当且仅当某个房间在一种方案有密探而在另... 阅读全文
posted @ 2016-08-24 17:52 zhouyis 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 定义:对于一个数列,它的母函数(即生成函数)为 为了对这个准确求值,我们设 举一个简单的例子 例1 对于数列 他的生成函数为 ,那么应用一下等比数列求和公式 这里由于 所以当时 那么 例2 对于数列 生成函数 就是上面那个的比例系数放大到b 那么就是 例3 对于数列 生成函数 就是比例系数放大到 可以得出 类比可以得到 例4 ... 阅读全文
posted @ 2016-08-23 21:52 zhouyis 阅读(244) 评论(0) 推荐(0) 编辑
摘要: T1 记表示走i步,第i步结尾是向北的方案数 记表示走i步的方案数 那么 然后高精搞一搞 #include #include #include using namespace std; int m[2333][2333]; int sx,sy,n,ans; const int dx[]={1,-1,0}; const int dy[]={0,0,-1}; int px... 阅读全文
posted @ 2016-08-22 21:10 zhouyis 阅读(132) 评论(0) 推荐(0) 编辑
摘要: T1 给定一个序列 ,在第i时刻位置右边插入一个数i 求最后的序列 【题解】倒着做。。插入的位置是左边有空格的位置 用线段树维护一下单点修改 线段树写的优雅一点 T2 0/1背包 但是 额 对于这个问题 ,我们可以先找到前20个物品对于每个重量的最大价值 然后求出后20个的 然后二分一下两个体积合并 阅读全文
posted @ 2016-08-19 21:01 zhouyis 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 类似生成树的做法去边权降序的前k或n-1条边 T2 发现这个东西可以转化成上一行的前缀积乘上行号 质因数肯定是小于n的职数 每个数的指数是一个组合数的形式 XJB算一下好了 #include #include #include #include #define mod 1000000009 using namespace std; int n,k;int g[23... 阅读全文
posted @ 2016-08-18 20:49 zhouyis 阅读(116) 评论(0) 推荐(0) 编辑