hdu 1496 hash 方程解的情況

2021-06-03 18:31:46 字數 937 閱讀 4649

題意:根據題中所給的方程,輸出a,b,c,d,輸出滿足方程的解的方案的個數

思路:hash x1,x2  和 x3,x4  如果兩個狀態儲存的位置相同那麼方案數加一,最後求出的方案乘以2^4,因為四個未知數是平方項,正負對其沒有影響。

#includeusing namespace std;

int hash[2000005];

int main()

//這種情況肯定不成立

memset(hash,0,sizeof(hash));

for(i=1;i<=100;i++)

for(j=1;j<=100;j++)

hash[a*pin[i]+b*pin[j]+1000000]++;//對a*x1^2+b*x2^2進行hash

int sum=0;

for(i=1;i<=100;i++)

for(j=1;j<=100;j++)

sum+=hash[-(c*pin[i]+d*pin[j])+1000000];//加符號才能滿足方程的情況

printf("%d\n",16*sum);

}}

這種是開小陣列+衝突處理的方法

#include#include#define max 50021

int f[max],g[max];

int hash(int k)

int main()

memset(f,0,sizeof(f));

n=0;

for(i=1;i<=100;i++)

for(j=1;j<=100;j++)

for(i=1;i<=100;i++)

for(j=1;j<=100;j++)

printf("%d\n",n*16);

}}

牛頓迭代法求方程解

牛頓迭代法 newton s method 又稱為牛頓 拉夫遜方法 newton raphson method 它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。方法使用函式f x 的泰勒級...

正規方程解多變數線性回歸

梯度下降解法 正規方程方法 使用正規方程解法的時候注意矩陣不可逆的情況 用np.linalg.det 求解矩陣a的行列式 a 如果行列式為0,不可逆,否則可逆。import numpy as np import pandas as pd data pd.read csv ex1data2.txt n...

微分方程解特殊差分模型

微分方程解特殊差分模型 由前面兩種模型之間的聯絡,我們可以獲得一些共同點 一部分的差分模型比較難解,我們可 以轉化為微分方程的近似解來完成 比如差分模型為 n 0.0001 a n 1 0.0001 n 3 gon a n n 0.0001 a n 1 0.0001 n 3 如果是直接給出下面這個差...